/descent

An analog for `multiplate`

Primary LanguageHaskellThe UnlicenseUnlicense

What

A simple analog of multiplate, made with use of TypeRepMaps.

Provides pretty clean interface to run recurent transformations over your mutually recursive types.

No template haskell for generating Descent instances yet, but it looks easy to do.

Documentation

Run stack haddock to generate documentation.

Example

See AST.hs for example of mut-rec types and Main.hs for a transformation that assigns de Brujin index for each variable (let is assumed let rec there).