Add TExp data type.
authorGeoffrey Mainland <mainland@apeiron.net>
Wed, 24 Apr 2013 13:11:04 +0000 (14:11 +0100)
committerGeoffrey Mainland <mainland@apeiron.net>
Fri, 4 Oct 2013 18:58:26 +0000 (14:58 -0400)
Language/Haskell/TH.hs
Language/Haskell/TH/Syntax.hs

index 7133b61..ed07f38 100644 (file)
@@ -33,6 +33,9 @@ module Language.Haskell.TH(
         -- *** Roles lookup
         reifyRoles,
 
+       -- * Typed expressions
+       TExp, unType,
+
        -- * Names
        Name, NameSpace,        -- Abstract
        -- ** Constructing names
index 234225e..9c07010 100644 (file)
@@ -136,6 +136,14 @@ instance Applicative Q where
   pure x = Q (pure x)
   Q f <*> Q x = Q (f <*> x)
 
+-----------------------------------------------------
+--
+--             The TExp type
+--
+-----------------------------------------------------
+
+newtype TExp a = TExp { unType :: Q Exp }
+
 ----------------------------------------------------
 -- Packaged versions for the programmer, hiding the Quasi-ness