• simonpj@microsoft.com's avatar
    Several TH/quasiquote changes · 6f8ff0bb
    simonpj@microsoft.com authored
    a) Added quasi-quote forms for
          declarations
          types
       e.g.   f :: [$qq| ... |]
    
    b) Allow Template Haskell pattern quotes (but not splices)
       e.g.  f x = [p| Int -> $x |]
    
    c) Improve pretty-printing for HsPat to remove superfluous
       parens.  (This isn't TH related really, but it affects
       some of the same code.)
    
    
    A consequence of (a) is that when gathering and grouping declarations
    in RnSource.findSplice, we must expand quasiquotes as we do so.
    Otherwise it's all fairly straightforward.  I did a little bit of
    refactoring in TcSplice.
    
    User-manual changes still to come.
    6f8ff0bb
HsDecls.lhs 36.6 KB