The CDDL constructor takes three arguments: 1. Top level comments that precede the first definition 2. The root definition 3. All the other top level comments and definitions This ensures that CDDL is correct by construction.
Constructors
CDDLrootDefinition :: Rule itopLevelDefinitions :: [TopLevel i]cddlExt :: [XXTopLevel i]This extension is used for comments that appear before the root definition
Instances6IndexMappable, Eq, Show, Generic, Pretty, Rep
(IndexMappable XCddl i j, IndexMappable XXTopLevel i j, IndexMappable XXType2 i j, IndexMappable XTerm i j, IndexMappable XRule i j) => IndexMappable CDDL i jDefined in cuddle-1.8.1.0 · Codec.CBOR.Cuddle.IndexMappableForAllExtensions i Eq => Eq (CDDL i)Defined in cuddle-1.8.1.0 · Codec.CBOR.Cuddle.CDDLForAllExtensions i Show => Show (CDDL i)Defined in cuddle-1.8.1.0 · Codec.CBOR.Cuddle.CDDLGeneric (CDDL i)Defined in cuddle-1.8.1.0 · Codec.CBOR.Cuddle.CDDLPretty (CDDL PrettyStage)Defined in cuddle-1.8.1.0 · Codec.CBOR.Cuddle.Prettytype Rep (CDDL i) = D1 ('MetaDataDefined in cuddle-1.8.1.0 · Codec.CBOR.Cuddle.CDDL"CDDL"
"Codec.CBOR.Cuddle.CDDL"
"cuddle-1.8.1.0-1n67ahaIhMs3FQkr3b5WBN"
'False) (C1 ('MetaCons"CDDL"
'PrefixI 'True) (S1 ('MetaSel ('Just"rootDefinition"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Rule i)) :*: (S1 ('MetaSel ('Just"topLevelDefinitions"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TopLevel i]) :*: S1 ('MetaSel ('Just"cddlExt"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [XXTopLevel i]))))