Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
This module defines Haskell data types that simplify construction of PLC types and terms.
Synopsis
- data RecursiveType uni fun ann = RecursiveType {
- _recursiveType ∷ Type TyName uni ann
- _recursiveWrap ∷ ∀ term. TermLike term TyName Name uni fun ⇒ [Type TyName uni ann] → term ann → term ann
- makeRecursiveType ∷ FromDataPieces uni ann (RecursiveType uni fun ann)
Documentation
data RecursiveType uni fun ann Source #
A recursive type packaged along with a specified Wrap
that allows to construct elements
of this type.
RecursiveType | |
|
makeRecursiveType ∷ FromDataPieces uni ann (RecursiveType uni fun ann) Source #
Construct a RecursiveType
out of its name, variables bound in its pattern functor
and the body of the pattern functor. The 0- and 1-ary pattern functors are special-cased,
while in the general case the pattern functor and type arguments get encoded into a 1-ary
form first.