Skip to content
  • Edward Z. Yang's avatar
    Support stage 1 Template Haskell (non-quasi) quotes, fixes #10382. · f16ddcee
    Edward Z. Yang authored
    
    
    Summary:
    This commit adds stage 1 support for Template Haskell
    quoting, e.g. [| ... expr ... |], which is useful
    for authors of quasiquoter libraries that do not actually
    need splices.  The TemplateHaskell extension now does not
    unconditionally fail; it only fails if the renamer encounters
    a splice that it can't run.
    
    In order to make sure the referenced data structures
    are consistent, template-haskell is now a boot library.
    There are some minor BC changes to template-haskell to make it boot
    on GHC 7.8.
    
    Note for reviewer: big diff changes are simply code
    being moved out of an ifdef; there was no other substantive
    change to that code.
    
    Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
    
    Test Plan: validate
    
    Reviewers: simonpj, austin, goldfire
    
    Subscribers: bgamari, thomie
    
    Differential Revision: https://phabricator.haskell.org/D876
    
    GHC Trac Issues: #10382
    f16ddcee