|
|
|
|
| Synopsis |
|
|
|
| Documentation |
|
|
|
| data HsLocalBindsLR idL idR | Source |
|
| Constructors | | Instances | |
|
|
|
|
| data HsValBindsLR idL idR | Source |
|
| Constructors | | Instances | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Constructors | | FunBind | FunBind is used for both functions f x = e
and variables f = x -> e
Reason 1: Special case for type inference: see TcBinds.tcMonoBinds.
Reason 2: Instance decls can only have FunBinds, which is convenient.
If you change this, you'll need to change e.g. rnMethodBinds
But note that the form f :: a->a = ...
parses as a pattern binding, just like
(f :: a -> a) = ...
| | fun_id :: Located idL | | | fun_infix :: Bool | True => infix declaration
| | fun_matches :: MatchGroup idR | The payload
| | fun_co_fn :: HsWrapper | Coercion from the type of the MatchGroup to the type of
the Id. Example:
f :: Int -> forall a. a -> a
f x y = y
Then the MatchGroup will have type (Int -> a' -> a')
(with a free type variable a'). The coercion will take
a CoreExpr of this type and convert it to a CoreExpr of
type Int -> forall a'. a' -> a'
Notice that the coercion captures the free a'.
| | bind_fvs :: NameSet | After the renamer, this contains a superset of the
Names of the other binders in this binding group that
are free in the RHS of the defn
Before renaming, and after typechecking,
the field is unused; it's just an error thunk
| | fun_tick :: Maybe (Int, [idR]) | This is the (optional) module-local tick number.
|
| | PatBind | | | pat_lhs :: LPat idL | | | pat_rhs :: GRHSs idR | | | pat_rhs_ty :: PostTcType | | | bind_fvs :: NameSet | After the renamer, this contains a superset of the
Names of the other binders in this binding group that
are free in the RHS of the defn
Before renaming, and after typechecking,
the field is unused; it's just an error thunk
|
| | VarBind | | | var_id :: idL | | | var_rhs :: LHsExpr idR | |
| | AbsBinds | | |
| Instances | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Constructors | | Instances | |
|
|
|
|
|
|
|
| Implicit parameter bindings.
| | Constructors | | Instances | |
|
|
|
| Constructors | | Instances | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Constructors | | Instances | |
|
|
|
|
|
| Constructors | | Instances | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Produced by Haddock version 2.6.1 |