1{-# LANGUAGE CPP #-}
2{-# LANGUAGE MagicHash #-}
3{-# LANGUAGE TemplateHaskell #-}
4module Main (main) where
5
6import Foo
7import Language.Haskell.TH.Syntax
8
9main :: IO ()
10main = do print $( lift (Foo "str1" 'c') )
11          print $( lift (Bar "str2") )
12          print $( lift (Rec {field = 'a'}) )
13          print $( lift (Unboxed
14#if MIN_VERSION_template_haskell(2,11,0)
15                          'a'#
16#endif
17                          1.0## 1.0# 1# 1##) )
18          print $( lift (In { out = Nothing }) )
19#if MIN_VERSION_template_haskell(2,7,0)
20          print $( lift (FamPrefix1 "str1" 'c') )
21          print $( lift (FamPrefix2 "str2") )
22          print $( lift (FamRec {famField = 'a'}) )
23          print $( lift ('a' :%%: 'b') )
24#endif
25