Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- makeIsDataSchemaIndexed :: Name -> [(Name, Natural)] -> Q [InstanceDec]
- unstableMakeIsDataSchema :: Name -> Q [Dec]
- makeHasSchemaInstance :: Name -> [(Name, Natural)] -> Q [InstanceDec]
- mkSchemaClause :: Type -> [(ConstructorInfo, SchemaInfo, Natural)] -> ClauseQ
- deriveParameterBlueprint :: Name -> Set Purpose -> ExpQ
- deriveArgumentBlueprint :: Name -> Set Purpose -> ExpQ
- lookupAnn :: Data a => Name -> Q [a]
- lookupSchemaTitle :: Name -> Q (Maybe SchemaTitle)
- lookupSchemaDescription :: Name -> Q (Maybe SchemaDescription)
Documentation
makeIsDataSchemaIndexed :: Name -> [(Name, Natural)] -> Q [InstanceDec] Source #
Generate a ToData
, FromData
, UnsafeFromData
, HasBlueprintSchema
instances for a type,
using an explicit mapping of constructor names to indices.
Use this for types where you need to keep the representation stable.
makeHasSchemaInstance :: Name -> [(Name, Natural)] -> Q [InstanceDec] Source #
:: Type | The type for the |
-> [(ConstructorInfo, SchemaInfo, Natural)] | The constructors of the type with their schema infos and indices. |
-> ClauseQ | The clause for the |
Make a clause for the schema
function.
lookupSchemaTitle :: Name -> Q (Maybe SchemaTitle) Source #