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