Portability | portable |
---|---|
Stability | experimental |
Maintainer | Niklas Broberg, d00nibro@dtek.chalmers.se |
- name :: String -> Name
- sym :: String -> Name
- var :: Name -> Exp
- op :: Name -> QOp
- qvar :: ModuleName -> Name -> Exp
- pvar :: Name -> Pat
- app :: Exp -> Exp -> Exp
- infixApp :: Exp -> QOp -> Exp -> Exp
- appFun :: Exp -> [Exp] -> Exp
- pApp :: Name -> [Pat] -> Pat
- tuple :: [Exp] -> Exp
- pTuple :: [Pat] -> Pat
- varTuple :: [Name] -> Exp
- pvarTuple :: [Name] -> Pat
- function :: String -> Exp
- strE :: String -> Exp
- charE :: Char -> Exp
- intE :: Integer -> Exp
- strP :: String -> Pat
- charP :: Char -> Pat
- intP :: Integer -> Pat
- doE :: [Stmt] -> Exp
- lamE :: SrcLoc -> [Pat] -> Exp -> Exp
- letE :: [Decl] -> Exp -> Exp
- caseE :: Exp -> [Alt] -> Exp
- alt :: SrcLoc -> Pat -> Exp -> Alt
- altGW :: SrcLoc -> Pat -> [Stmt] -> Exp -> Binds -> Alt
- listE :: [Exp] -> Exp
- eList :: Exp
- peList :: Pat
- paren :: Exp -> Exp
- pParen :: Pat -> Pat
- qualStmt :: Exp -> Stmt
- genStmt :: SrcLoc -> Pat -> Exp -> Stmt
- letStmt :: [Decl] -> Stmt
- binds :: [Decl] -> Binds
- noBinds :: Binds
- wildcard :: Pat
- genNames :: String -> Int -> [Name]
- sfun :: SrcLoc -> Name -> [Name] -> Rhs -> Binds -> Decl
- simpleFun :: SrcLoc -> Name -> Name -> Exp -> Decl
- patBind :: SrcLoc -> Pat -> Exp -> Decl
- patBindWhere :: SrcLoc -> Pat -> Exp -> [Decl] -> Decl
- nameBind :: SrcLoc -> Name -> Exp -> Decl
- metaFunction :: String -> [Exp] -> Exp
- metaConPat :: String -> [Pat] -> Pat
Syntax building functions
qvar :: ModuleName -> Name -> ExpSource
More advanced building
simpleFun :: SrcLoc -> Name -> Name -> Exp -> DeclSource
A function with a single match, a single argument, no guards and no where declarations
patBind :: SrcLoc -> Pat -> Exp -> DeclSource
A pattern bind where the pattern is a variable, and where there are no guards and no 'where' clause.
metaFunction :: String -> [Exp] -> ExpSource
metaConPat :: String -> [Pat] -> PatSource