• Alec Theriault's avatar
    TH: make `Lift` and `TExp` levity-polymorphic · 57cf1133
    Alec Theriault authored
    Besides the obvious benefits of being able to manipulate `TExp`'s of
    unboxed types, this also simplified `-XDeriveLift` all while making
    it more capable.
    
      * `ghc-prim` is explicitly depended upon by `template-haskell`
    
      * The following TH things are parametrized over `RuntimeRep`:
    
          - `TExp(..)`
          - `unTypeQ`
          - `unsafeTExpCoerce`
          - `Lift(..)`
    
      * The following instances have been added to `Lift`:
    
          - `Int#`, `Word#`, `Float#`, `Double#`, `Char#`, `Addr#`
          - unboxed tuples of lifted types up to arity 7
          - unboxed sums of lifted types up to arity 7
    
        Ideally we would have levity-polymorphic _instances_ of unboxed
        tuples and sums.
    
      * The code generated by `-XDeriveLift` uses expression quotes
        instead of generating large amounts of TH code and having
        special hard-coded cases for some unboxed types.
    57cf1133
Name
Last commit
Last update
..
Cabal @ 5d258537 Loading commit data...
Win32 @ ca5fbc12 Loading commit data...
array @ 58a7ea03 Loading commit data...
base Loading commit data...
binary @ 94855814 Loading commit data...
bytestring @ 847563a2 Loading commit data...
containers @ 03dcb287 Loading commit data...
deepseq @ a2d507af Loading commit data...
directory @ 59883e95 Loading commit data...
doc Loading commit data...
filepath @ 39035d64 Loading commit data...
ghc-boot Loading commit data...
ghc-boot-th Loading commit data...
ghc-compact Loading commit data...
ghc-heap Loading commit data...
ghc-prim Loading commit data...
ghci Loading commit data...
haskeline @ fdc6c2cc Loading commit data...
hpc @ 42bb0059 Loading commit data...
integer-gmp Loading commit data...
integer-simple Loading commit data...
libiserv Loading commit data...
mtl @ c7d39673 Loading commit data...
parsec @ 3fafb06c Loading commit data...
pretty @ c3a14693 Loading commit data...
process @ d860209e Loading commit data...
stm @ f9979c92 Loading commit data...
template-haskell Loading commit data...
terminfo @ 7049b262 Loading commit data...
text @ 1127b30e Loading commit data...
time @ 9e96c261 Loading commit data...
transformers @ def8c55d Loading commit data...
unix @ a102df29 Loading commit data...
xhtml @ 721779ac Loading commit data...
Makefile Loading commit data...
defineTOP.mk Loading commit data...
gen_contents_index Loading commit data...
hscolour.css Loading commit data...
libraries-footer.txt Loading commit data...
libraries-header.txt Loading commit data...
prologue.txt.in Loading commit data...