Safe Haskell | None |
---|---|

Language | Haskell2010 |

Analyse variables/function names and produce unique names that can be used to replace the original names while maintaining program equivalence (a.k.a. alpha-conversion). The advantage of the unique names is that scoping issues can be ignored when doing further analysis.

## Synopsis

- analyseRenames :: Data a => ProgramFile (Analysis a) -> ProgramFile (Analysis a)
- analyseRenamesWithModuleMap :: Data a => ModuleMap -> ProgramFile (Analysis a) -> ProgramFile (Analysis a)
- rename :: Data a => ProgramFile (Analysis a) -> ProgramFile (Analysis a)
- unrename :: Data a => ProgramFile (Analysis a) -> ProgramFile (Analysis a)
- type ModuleMap = Map ProgramUnitName ModEnv

# Documentation

analyseRenames :: Data a => ProgramFile (Analysis a) -> ProgramFile (Analysis a) Source #

Annotate unique names for variable and function declarations and uses.

analyseRenamesWithModuleMap :: Data a => ModuleMap -> ProgramFile (Analysis a) -> ProgramFile (Analysis a) Source #

Annotate unique names for variable and function declarations and uses. With external module map.

rename :: Data a => ProgramFile (Analysis a) -> ProgramFile (Analysis a) Source #

Take the unique name annotations and substitute them into the actual AST.

unrename :: Data a => ProgramFile (Analysis a) -> ProgramFile (Analysis a) Source #

Take a renamed program and undo the renames.