|
| Language.Haskell.TH.Syntax | | Portability | portable | | Stability | experimental | | Maintainer | libraries@haskell.org |
|
|
|
| Description |
| Abstract syntax definitions for Template Haskell.
|
|
| Synopsis |
|
|
|
| Documentation |
|
| class Monad m => Quasi m where |
| | Methods | | | Instances | |
|
|
| class Lift t where |
| | Methods | | | Instances | | Lift Bool | | Lift Char | | Lift Int | | Lift Integer | | (Lift a, Lift b) => Lift (a, b) | | (Lift a, Lift b, Lift c) => Lift (a, b, c) | | (Lift a, Lift b, Lift c, Lift d) => Lift (a, b, c, d) | | (Lift a, Lift b, Lift c, Lift d, Lift e) => Lift (a, b, c, d, e) | | (Lift a, Lift b, Lift c, Lift d, Lift e, Lift f) => Lift (a, b, c, d, e, f) | | (Lift a, Lift b, Lift c, Lift d, Lift e, Lift f, Lift g) => Lift (a, b, c, d, e, f, g) | | Lift a => Lift (Maybe a) | | Lift a => Lift [a] | | (Lift a, Lift b) => Lift (Either a b) |
|
|
|
| data Q a |
Instances | |
|
|
| runQ :: Quasi m => Q a -> m a |
|
| report :: Bool -> String -> Q () |
|
| recover :: Q a -> Q a -> Q a |
|
| reify :: Name -> Q Info |
| reify looks up information about the Name
|
|
| currentModule :: Q String |
| currentModule gives you the name of the module in which this
computation is spliced.
|
|
| runIO :: IO a -> Q a |
The runIO function lets you run an I/O computation in the Q monad.
Take care: you are guaranteed the ordering of calls to runIO within
a single Q computation, but not about the order in which splices are run.
Note: for various murky reasons, stdout and stderr handles are not
necesarily flushed when the compiler finishes running, so you should
flush them yourself.
|
|
| data Name |
| Constructors | | Instances | |
|
|
| mkName :: String -> Name |
|
| newName :: String -> Q Name |
|
| nameBase :: Name -> String |
|
| nameModule :: Name -> Maybe String |
|
| showName :: Name -> String |
|
| showName' :: NameIs -> Name -> String |
|
| data NameIs |
|
|
| data Dec |
| Constructors | | Instances | |
|
|
| data Exp |
| Constructors | | Instances | |
|
|
| data Con |
| Constructors | | Instances | |
|
|
| data Type |
| Constructors | | Instances | |
|
|
| type Cxt = [Type] |
|
| data Match |
| Constructors | | Instances | |
|
|
| data Clause |
| Constructors | | Instances | |
|
|
| data Body |
| Constructors | | Instances | |
|
|
| data Guard |
| Constructors | | Instances | |
|
|
| data Stmt |
| Constructors | | Instances | |
|
|
| data Range |
| Constructors | | Instances | |
|
|
| data Lit |
| Constructors | | Instances | |
|
|
| data Pat |
| Constructors | | Instances | |
|
|
| type FieldExp = (Name, Exp) |
|
| type FieldPat = (Name, Pat) |
|
| data Strict |
| Constructors | | Instances | |
|
|
| data Foreign |
| Constructors | | Instances | |
|
|
| data Callconv |
| Constructors | | Instances | |
|
|
| data Safety |
| Constructors | | Instances | |
|
|
| type StrictType = (Strict, Type) |
|
| type VarStrictType = (Name, Strict, Type) |
|
| data FunDep |
| Constructors | | Instances | |
|
|
| data Info |
| Constructors | | Instances | |
|
|
| data Fixity |
| Constructors | | Instances | |
|
|
| data FixityDirection |
| Constructors | | Instances | |
|
|
| defaultFixity :: Fixity |
|
| maxPrecedence :: Int |
|
| returnQ :: a -> Q a |
|
| bindQ :: Q a -> (a -> Q b) -> Q b |
|
| sequenceQ :: [Q a] -> Q [a] |
|
| data NameFlavour |
| Constructors | | Instances | |
|
|
| data NameSpace |
| Constructors | | Instances | |
|
|
| mkNameG_v :: String -> String -> String -> Name |
|
| mkNameG_d :: String -> String -> String -> Name |
|
| mkNameG_tc :: String -> String -> String -> Name |
|
| type Uniq = Int |
|
| mkNameL :: String -> Uniq -> Name |
|
| mkNameU :: String -> Uniq -> Name |
|
| tupleTypeName :: Int -> Name |
|
| tupleDataName :: Int -> Name |
|
| type OccName = PackedString |
|
| mkOccName :: String -> OccName |
|
| occString :: OccName -> String |
|
| type ModName = PackedString |
|
| mkModName :: String -> ModName |
|
| modString :: ModName -> String |
|
| type PkgName = PackedString |
|
| mkPkgName :: String -> PkgName |
|
| pkgString :: PkgName -> String |
|
| Produced by Haddock version 0.8 |