Safe Haskell | None |
---|---|
Language | Haskell2010 |
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
:: 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 #
:: 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
:: 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.
:: 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.