|
Language.Haskell.TH.Helper |
|
|
|
|
Description |
These small short-named functions are intended to make the
construction of abstranct syntax trees less tedious.
|
|
Synopsis |
|
|
|
|
Special folds for the guessing
|
|
|
|
|
|
|
|
Syntax elements
|
|
|
A simple clause, without where or guards.
|
|
|
A default clause with N arguments.
|
|
|
A simple Val clause
|
|
|
|
|
|
|
We provide 3 standard instance constructors
instance_default requires C for each free type variable
instance_none requires no context
instance_context requires a given context
|
|
|
|
|
|
|
Build an instance of a class for a data type, using the heuristic
that the type is itself required on all type arguments.
|
|
|
Build an instance of a class for a data type, using the class at the given types
|
|
|
Build a type signature declaration with a string name
|
|
|
Build a fundecl with a string name
|
|
Pattern vs Value abstraction
|
|
|
| Methods | | | Instances | |
|
|
|
The class used to overload lifting operations. To reduce code
duplication, we overload the wrapped constructors (and everything
else, but that's irrelevant) to work in patterns, expressions, and
types.
| | Methods | | Build an application node, with a name for a head and a
provided list of arguments.
| | | Reference a named variable.
| | | Lift a TH Lit
| | | Tupling
| | | Listing
|
| | Instances | |
|
|
|
Build an application node without a given head
|
|
|
This class is used to overload literal construction based on the
type of the literal.
| | Methods | | | Instances | |
|
|
Constructor abstraction
|
|
|
|
|
Common pattern: list of a familiy of variables
|
|
|
Variable based on a letter + number
|
|
|
Make a list of variables, one for each argument to a constructor
|
|
|
Make a simple pattern to bind a constructor
|
|
|
Reference the constructor itself
|
|
Lift a constructor over a fixed number of arguments.
|
|
|
|
|
|
|
|
Pre-lifted versions of common operations
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Build a chain of expressions, with an appropriate terminal
sequence__ does not require a unit at the end (all others are optimised automatically)
|
|
|
|
|
|
|
|
|
|
|
K-way liftM
|
|
Produced by Haddock version 2.6.0 |