Safe Haskell | None |
---|---|
Language | Haskell2010 |
Derive absolute/canonical data type models
- absType :: Model a => Proxy a -> AbsType
- absTypeModel :: Model a => Proxy a -> AbsTypeModel
- absTypeModelMaybe :: Model a => Proxy a -> Either String AbsTypeModel
Documentation
absType :: Model a => Proxy a -> AbsType Source #
Derive an absolute type for a type, or throw an error if derivation is impossible
absTypeModel :: Model a => Proxy a -> AbsTypeModel Source #
Derive an absolute type model for a type, or throw an error if derivation is impossible
absTypeModelMaybe :: Model a => Proxy a -> Either String AbsTypeModel Source #
Derive an absolute type model for a type, provided that:
- is an instance of Model
no data type referred directly or indirectly by the type:
- has higher kind variables
- is mutually recursive with other data types