[commit: packages/template-haskell] wip/th-new: Add TExp data type. (16650e6)
git at git.haskell.org
git
Fri Oct 4 21:51:23 UTC 2013
Repository : ssh://git at git.haskell.org/template-haskell
On branch : wip/th-new
Link : http://git.haskell.org/packages/template-haskell.git/commitdiff/16650e6b595ebf454543fdb351a007466e96916c
>---------------------------------------------------------------
commit 16650e6b595ebf454543fdb351a007466e96916c
Author: Geoffrey Mainland <mainland at apeiron.net>
Date: Wed Apr 24 14:11:04 2013 +0100
Add TExp data type.
>---------------------------------------------------------------
16650e6b595ebf454543fdb351a007466e96916c
Language/Haskell/TH.hs | 3 +++
Language/Haskell/TH/Syntax.hs | 8 ++++++++
2 files changed, 11 insertions(+)
diff --git a/Language/Haskell/TH.hs b/Language/Haskell/TH.hs
index 7133b61..ed07f38 100644
--- a/Language/Haskell/TH.hs
+++ b/Language/Haskell/TH.hs
@@ -33,6 +33,9 @@ module Language.Haskell.TH(
-- *** Roles lookup
reifyRoles,
+ -- * Typed expressions
+ TExp, unType,
+
-- * Names
Name, NameSpace, -- Abstract
-- ** Constructing names
diff --git a/Language/Haskell/TH/Syntax.hs b/Language/Haskell/TH/Syntax.hs
index 234225e..9c07010 100644
--- a/Language/Haskell/TH/Syntax.hs
+++ b/Language/Haskell/TH/Syntax.hs
@@ -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
More information about the ghc-commits
mailing list