File: TH_spliceE3.hs

package info (click to toggle)
haskell-ghc-exactprint 1.7.1.0-1
  • links: PTS
  • area: main
  • in suites: forky, sid, trixie
  • size: 6,044 kB
  • sloc: haskell: 32,076; makefile: 7
file content (26 lines) | stat: -rw-r--r-- 574 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
-- test the representation of literals and also explicit type annotations
{-# LANGUAGE TemplateHaskell #-}

module TH_repE1
where

import Language.Haskell.TH

$( 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 |] )