| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Control.Monad.Free.Foil.TH.Convert
Synopsis
- mkConvertToFreeFoil :: Name -> Name -> Name -> Name -> Q [Dec]
- mkConvertFromFreeFoil :: Name -> Name -> Name -> Name -> Q [Dec]
- mkConvertToSig :: Name -> Name -> Name -> Name -> Q [Dec]
- mkConvertFromSig :: Name -> Name -> Name -> Name -> Q [Dec]
- mkGetPatternBinder :: Name -> Name -> Q [Dec]
- mkGetScopedTerm :: Name -> Name -> Q [Dec]
Bulk generators
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 helpers for conversion to scope-safe representation.
Includes mkConvertToSig, mkGetPatternBinder, and mkGetScopedTerm.
mkConvertFromFreeFoil 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 helpers for conversion from scope-safe representation.
Includes mkConvertFromSig.
Individual generators
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 helper that goes unpeels one node from a raw term.
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 helper that peels back one node to a raw term.
Generate a helper that extracts at most one binder from a pattern.