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 #