origami-0.0.5: An un-SYB framework for transforming heterogenous data through folds

Safe HaskellNone
LanguageHaskell2010

Data.Origami.Internal.TH

Description

Creation of declarations from a FoldFamily

Synopsis

Documentation

mkFoldDecs :: FoldFamily -> [Dec] Source

Creates declarations for the * Fold, * idFold, * errFold, * monadicFold, * and one foldXxx function for each datatype Xxx in the FoldFamily.

ctorNamesAreUnique :: FoldFamily -> Bool Source

Returns True iff the constructor Names of the FoldFamily are all unique.

duplicateCtorNames :: FoldFamily -> Set String Source

Returns the set of constructor Names in the FoldFamily that are repeated.

typeNamesAreUnique :: FoldFamily -> Bool Source

Returns True iff the Names of the datatypes in the FoldFamily are all unique.