[project @ 2004-01-15 14:43:24 by igloo]
[ghc.git] / libraries / template-haskell / Language / Haskell / TH.hs
1 -- The public face of Template Haskell
2
3 module Language.Haskell.TH(
4 -- The monad and its operations
5 Q, runQ,
6 report, -- :: Bool -> String -> Q ()
7 recover, -- :: Q a -> Q a -> Q a
8 reify, -- :: Name -> Q Decl
9 currentModule, -- :: Q String
10 runIO, -- :: IO a -> Q a
11
12 -- Names
13 Name,
14 mkName, -- :: String -> Name
15 newName, -- :: String -> Q Name
16 nameBase, -- :: Name -> String
17
18 -- The algebraic data types
19 Dec(..), Exp(..), Con(..), Type(..), Cxt, Match(..),
20 Clause(..), Body(..), Stmt(..), Range(..),
21 Lit(..), Pat(..), FieldExp, FieldPat,
22 Strict(..), Foreign(..), Callconv(..), Safety(..),
23 Info(..),
24 Fixity(..), FixityDirection(..), defaultFixity, maxPrecedence,
25
26 -- Library functions
27 module Language.Haskell.TH.Lib,
28 -- Pretty-printer
29 module Language.Haskell.TH.Ppr,
30
31 ) where
32
33 import Language.Haskell.TH.Syntax
34 import Language.Haskell.TH.Lib
35 import Language.Haskell.TH.Ppr
36