Safe Haskell | Safe-Inferred |
---|
Rewriting of anonymous binders to named binders.
- class Namify c where
- data Namifier s n = Namifier {
- namifierNew :: Env n -> Bind n -> State s n
- namifierEnv :: Env n
- namifierStack :: [Bind n]
- makeNamifier :: (Env n -> Bind n -> State s n) -> Env n -> Namifier s n
- namifyUnique :: (Ord n, Namify c, BindStruct c) => (KindEnv n -> Namifier s n) -> (TypeEnv n -> Namifier s n) -> c n -> State s (c n)
Documentation
Holds a function to rename binders, and the state of the renamer as we decend into the tree.
Namifier | |
|
:: (Env n -> Bind n -> State s n) | Function to rename binders. The name chosen cannot be a member of the given |
-> Env n | Starting environment of names we cannot use. |
-> Namifier s n |
Construct a new namifier.