| Portability | portable | 
|---|---|
| Stability | experimental | 
| Maintainer | Ralf Laemmel, Joost Visser | 
| Safe Haskell | None | 
Data.Generics.Strafunski.StrategyLib.NameTheme
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.
- 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
Arguments
| :: (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)
Arguments
| :: (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