| Maintainer | Ralf Laemmel, Joost Visser |
|---|---|
| Stability | experimental |
| Portability | portable |
| Safe Haskell | None |
| Language | Haskell98 |
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