Safe Haskell | None |
---|---|
Language | Haskell98 |
An example module that adds references for Template Haskell. These references are used to create the TH functions that generate references.
- typeVariableNames :: Simple Traversal Type Name
- typeVar :: Simple Partial Type Name
- typeVariables :: Simple Traversal Type Type
- freeTypeVariables :: Simple Traversal Type Type
- typeVarName :: Simple Lens TyVarBndr Name
- nameBaseStr :: Simple Lens Name String
- recFields :: Simple Partial Con [(Name, Strict, Type)]
- conFields :: Simple Lens Con [(Strict, Type)]
- conTypes :: Simple Traversal Con Type
- conName :: Simple Lens Con Name
- funApplication :: Simple Iso Exp [Exp]
- definedName :: Simple Partial Dec Name
- definedConstructors :: Simple Partial Dec [Con]
- definedTypeArgs :: Simple Partial Dec [TyVarBndr]
Documentation
freeTypeVariables :: Simple Traversal Type Type Source #
Reference all type variables not binded by a forall
typeVarName :: Simple Lens TyVarBndr Name Source #
Reference the name of the type variable inside a type variable binder
nameBaseStr :: Simple Lens Name String Source #
Reference the characters of the name. If changed there is no guarantee that the created name will be unique.
recFields :: Simple Partial Con [(Name, Strict, Type)] Source #
Reference the record fields in a constructor.
conFields :: Simple Lens Con [(Strict, Type)] Source #
Reference all fields (data members) in a constructor.
funApplication :: Simple Iso Exp [Exp] Source #
Access a function application as a list of expressions with the function application at the head of the list and the arguments on it's tail.
definedName :: Simple Partial Dec Name Source #
Accesses the name of the defined object. Does not return name in signatures.