free-foil-0.1.0: Efficient Type-Safe Capture-Avoiding Substitution for Free (Scoped Monads)
Safe HaskellNone
LanguageHaskell2010

Control.Monad.Foil.TH.MkToFoil

Synopsis

Documentation

mkToFoil Source #

Arguments

:: Name

Type name for raw terms.

-> Name

Type name for raw variable identifiers.

-> Name

Type name for raw scoped terms.

-> Name

Type name for raw patterns.

-> Q [Dec] 

Generate conversion functions from raw to scope-safe representation.

mkExtendScopeFoilPattern Source #

Arguments

:: Name

Type name for raw variable identifiers.

-> Name

Type name for raw patterns.

-> Q [Dec] 

Generate a function to extend scope with variables from a given pattern.

mkWithRefreshedFoilPattern Source #

Arguments

:: Name

Type name for raw variable identifiers.

-> Name

Type name for raw patterns.

-> Q [Dec] 

Generate a function to extend scope with variables from a given pattern.

mkToFoilTerm Source #

Arguments

:: Name

Type name for raw terms.

-> Name

Type name for raw variable identifiers.

-> Name

Type name for raw scoped terms.

-> Name

Type name for raw patterns.

-> Q [Dec] 

Generate a conversion function from raw terms to scope-safe terms.

mkToFoilPattern Source #

Arguments

:: Name

Type name for raw variable identifiers.

-> Name

Type name for raw patterns.

-> Q [Dec] 

Generate a conversion function from raw terms to scope-safe terms.