TH_spliceE3.hs 541 Bytes
Newer Older
1 2 3 4 5
-- test the representation of literals and also explicit type annotations

module TH_repE1
where

6
import Language.Haskell.TH
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

$( do let emptyListExpr :: ExpQ
          emptyListExpr = [| [] |]

          singletonListExpr :: ExpQ
          singletonListExpr = [| [4] |]

          listExpr :: ExpQ
          listExpr = [| [4,5,6] |]

          consExpr :: ExpQ
          consExpr = [| 4:5:6:[] |]

      [d| foo = ($emptyListExpr, $singletonListExpr, $listExpr, $consExpr) |]
 )

bar = $( [| case undefined of
                [1] -> 1 |] )