{-# LANGUAGE PartialTypeSignatures #-} {-# LANGUAGE TemplateHaskell #-} {-# OPTIONS_GHC -Wno-partial-type-signatures #-} module TestsSplice where import qualified Language.Haskell.TH as TH import Reify import Tests import qualified Examples e0_SplicedImplicit = $$(e0_ReprImplicit :: TH.CodeQ (_ -> _ -> _ -> Float)) e0_SplicedTemplate = $$(e0_ReprTemplate) e0_SplicedTemplateDirect = $$($(reifyTH 'Examples.e0)) print_e0 = do print ("e0_SplicedImplicit 1 2 3", e0_SplicedImplicit 1 2 3) print ("e0_SplicedTemplate 1 2 3", e0_SplicedTemplate 1 2 3) print ("e0_SplicedTemplateDirect 1 2 3", e0_SplicedTemplateDirect 1 2 3) e1_SplicedImplicit = $$(e1_ReprImplicit :: TH.CodeQ ((_ -> _) -> Float -> Float)) e1_SplicedTemplate = $$(e1_ReprTemplate) e1_SplicedTemplateDirect = $$($(reifyTH 'Examples.e1)) print_e1 = do print ("e1_SplicedImplicit id 42", e1_SplicedImplicit id 42) -- 42.0 print ("e1_SplicedTemplate id 42", e1_SplicedTemplate id 42) -- 42 print ("e1_SplicedTemplateDirect id 42", e1_SplicedTemplateDirect id 42) -- 42