|
NameTheme | Portability | portable | Stability | experimental | Maintainer | Ralf Laemmel, Joost Visser |
|
|
|
|
|
Description |
This module is part of StrategyLib, a library of functional strategy
combinators, including combinators for generic traversal. This module
provides algorithms to collect names and their types. |
|
Synopsis |
|
freeNames :: (Eq name, Term t) => TU [(name, tpe)] Identity -> TU [name] Identity -> t -> [name] | | freeTypedNames :: (Eq name, Term t) => TU [(name, tpe)] Identity -> TU [name] Identity -> [(name, tpe)] -> t -> [(name, tpe)] | | boundTypedNames :: (Term f, Term t, Eq name) => TU [(name, tpe)] Identity -> (f -> Maybe f) -> t -> Maybe ([(name, tpe)], f) |
|
|
|
Free name analysis |
|
freeNames |
:: (Eq name, Term t) | | => TU [(name, tpe)] Identity | Identify declarations | -> TU [name] Identity | Identify references | -> t | Input term | -> [name] | Free names | Generic free name analysis algorithm (without types) |
|
|
freeTypedNames |
:: (Eq name, Term t) | | => TU [(name, tpe)] Identity | Identify declarations | -> TU [name] Identity | Identify references | -> [(name, tpe)] | Derived declarations | -> t | Input term | -> [(name, tpe)] | Free names with types | Generic free name analysis algorithm with types |
|
|
Bound name analysis |
|
boundTypedNames :: (Term f, Term t, Eq name) => TU [(name, tpe)] Identity -> (f -> Maybe f) -> t -> Maybe ([(name, tpe)], f) |
Accumulate declarations for focus |
|
Produced by Haddock version 0.6 |