Safe Haskell | Safe |
---|---|
Language | Haskell98 |
Collecting sets of variables and constructors.
- freeT :: (BindStruct c n, Ord n) => Env n -> c -> Set (Bound n)
- freeVarsT :: Ord n => KindEnv n -> Type n -> Set (Bound n)
- class FreeVarConT c where
- collectBound :: (BindStruct c n, Ord n) => c -> Set (Bound n)
- collectBinds :: (BindStruct c n, Ord n) => c -> ([Bind n], [Bind n])
- data BindTree n
- data BindWay
- class BindStruct c n | c -> n where
- slurpBindTree :: c -> [BindTree n]
- data BoundLevel
- isBoundExpWit :: BoundLevel -> Bool
- boundLevelOfBindWay :: BindWay -> BoundLevel
- bindDefT :: BindStruct c n => BindWay -> [Bind n] -> [c] -> BindTree n
Documentation
freeT :: (BindStruct c n, Ord n) => Env n -> c -> Set (Bound n) Source
Collect the free Spec variables in a thing (level-1).
freeVarsT :: Ord n => KindEnv n -> Type n -> Set (Bound n) Source
Collect the free type variables in a type.
class FreeVarConT c where Source
collectBound :: (BindStruct c n, Ord n) => c -> Set (Bound n) Source
Collect all the bound variables in a thing, independent of whether they are free or not.
collectBinds :: (BindStruct c n, Ord n) => c -> ([Bind n], [Bind n]) Source
Collect all the spec and exp binders in a thing.
A description of the binding structure of some type or expression.
Describes how a variable was bound.
class BindStruct c n | c -> n where Source
slurpBindTree :: c -> [BindTree n] Source
BindStruct (TyCon n) n Source | |
BindStruct (Type n) n Source |
data BoundLevel Source
What level this binder is at.
isBoundExpWit :: BoundLevel -> Bool Source
Check if a boundlevel is expression or witness
boundLevelOfBindWay :: BindWay -> BoundLevel Source
Get the BoundLevel
corresponding to a BindWay
.