ddc-source-tetra-0.4.3.1: Disciplined Disciple Compiler source language.

Safe HaskellNone
LanguageHaskell98

DDC.Source.Tetra.Transform.Freshen

Description

Freshen shadowed names in the source file, and rewrite anonymous binders to their named forms.

Synopsis

Documentation

type S = State State Source #

State holding a variable name prefix and counter to create fresh variable names.

evalState :: Text -> S a -> a Source #

Evaluate a desguaring computation, using the given prefix for freshly introduced variables.

newName :: Text -> S Name Source #

Allocate a new name.

freshenModule :: Module Source -> S (Module Source) Source #

Freshen the given module.