]> Git — Sourcephile - tmp/julm/symantic-reify.git/blob - TestsSplice.hs
add nix files
[tmp/julm/symantic-reify.git] / TestsSplice.hs
1 {-# LANGUAGE PartialTypeSignatures #-}
2 {-# LANGUAGE TemplateHaskell #-}
3 {-# OPTIONS_GHC -Wno-partial-type-signatures #-}
4 module TestsSplice where
5
6 import qualified Language.Haskell.TH as TH
7 import Reify
8 import Tests
9 import qualified Examples
10
11 e0_SplicedImplicit = $$(e0_ReprImplicit :: TH.CodeQ (_ -> _ -> _ -> Float))
12 e0_SplicedTemplate = $$(e0_ReprTemplate)
13 e0_SplicedTemplateDirect = $$($(reifyTH 'Examples.e0))
14
15 print_e0 = do
16 print ("e0_SplicedImplicit 1 2 3", e0_SplicedImplicit 1 2 3)
17 print ("e0_SplicedTemplate 1 2 3", e0_SplicedTemplate 1 2 3)
18 print ("e0_SplicedTemplateDirect 1 2 3", e0_SplicedTemplateDirect 1 2 3)
19
20 e1_SplicedImplicit = $$(e1_ReprImplicit :: TH.CodeQ ((_ -> _) -> Float -> Float))
21 e1_SplicedTemplate = $$(e1_ReprTemplate)
22 e1_SplicedTemplateDirect = $$($(reifyTH 'Examples.e1))
23
24 print_e1 = do
25 print ("e1_SplicedImplicit id 42", e1_SplicedImplicit id 42) -- 42.0
26 print ("e1_SplicedTemplate id 42", e1_SplicedTemplate id 42) -- 42
27 print ("e1_SplicedTemplateDirect id 42", e1_SplicedTemplateDirect id 42) -- 42