cuddle-1.1.0.0: CDDL Generator and test utilities
Safe HaskellNone
LanguageGHC2021

Codec.CBOR.Cuddle.Huddle

Description

Module for building CDDL in Haskell

Compared to the builders, this is less about creating a DSL for CDDL in Haskell as about using Haskell's higher-level capabilities to express CDDL constraints. So we ditch a bunch of CDDL concepts where we can instead use Haskell's capabilities there.

Synopsis

Core Types

data Huddle Source #

Top-level Huddle type is a list of rules.

Instances

Instances details
Semigroup Huddle Source #

This semigroup instance: - Takes takes the roots from the RHS unless they are empty, in which case it takes the roots from the LHS - Uses the RHS to override items on the LHS where they share a name. The value from the RHS is taken, but the index from the LHS is used.

Note that this allows replacing items in the middle of a tree without updating higher-level items which make use of them - that is, we do not need to "close over" higher-level terms, since by the time they have been built into a huddle structure, the references have been converted to keys.

Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Generic Huddle Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Associated Types

type Rep Huddle 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

type Rep Huddle = D1 ('MetaData "Huddle" "Codec.CBOR.Cuddle.Huddle" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'False) (C1 ('MetaCons "Huddle" 'PrefixI 'True) (S1 ('MetaSel ('Just "roots") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Rule]) :*: S1 ('MetaSel ('Just "items") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (OMap Name HuddleItem))))

Methods

from :: Huddle -> Rep Huddle x #

to :: Rep Huddle x -> Huddle #

IsList Huddle Source #

This instance is mostly used for testing

Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Associated Types

type Item Huddle 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Default Huddle Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Methods

def :: Huddle #

type Rep Huddle Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

type Rep Huddle = D1 ('MetaData "Huddle" "Codec.CBOR.Cuddle.Huddle" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'False) (C1 ('MetaCons "Huddle" 'PrefixI 'True) (S1 ('MetaSel ('Just "roots") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Rule]) :*: S1 ('MetaSel ('Just "items") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (OMap Name HuddleItem))))
type Item Huddle Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

data HuddleItem Source #

Instances

Instances details
Generic HuddleItem Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Associated Types

type Rep HuddleItem 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

HasName HuddleItem Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

IsType0 HuddleItem Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Methods

toType0 :: HuddleItem -> Type0 Source #

type Rep HuddleItem Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

huddleAugment :: Huddle -> Huddle -> Huddle Source #

Joins two Huddle values with a left-bias. This means that this function is not symmetric and that any rules that are present in both prefer the definition from the Huddle value on the left.

data Rule Source #

Constructors

Rule 

Fields

Instances

Instances details
Generic Rule Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Associated Types

type Rep Rule 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

type Rep Rule

Methods

from :: Rule -> Rep Rule x #

to :: Rep Rule x -> Rule #

HasName Rule Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Methods

getName :: Rule -> Name Source #

HasGenerator Rule Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

HasComment Rule Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

IsType0 Rule Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Methods

toType0 :: Rule -> Type0 Source #

type Rep Rule Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

type Rep Rule

data GroupDef Source #

Constructors

GroupDef 

Fields

Instances

Instances details
Generic GroupDef Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Associated Types

type Rep GroupDef 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Methods

from :: GroupDef -> Rep GroupDef x #

to :: Rep GroupDef x -> GroupDef #

HasName GroupDef Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

HasComment GroupDef Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

IsType0 GroupDef Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Methods

toType0 :: GroupDef -> Type0 Source #

type Rep GroupDef Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

class IsType0 a where Source #

Methods

toType0 :: a -> Type0 Source #

Instances

Instances details
IsType0 ByteString Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Methods

toType0 :: ByteString -> Type0 Source #

IsType0 GRef Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Methods

toType0 :: GRef -> Type0 Source #

IsType0 GRuleCall Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Methods

toType0 :: GRuleCall -> Type0 Source #

IsType0 GroupDef Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Methods

toType0 :: GroupDef -> Type0 Source #

IsType0 HuddleItem Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Methods

toType0 :: HuddleItem -> Type0 Source #

IsType0 Literal Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Methods

toType0 :: Literal -> Type0 Source #

IsType0 Rule Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Methods

toType0 :: Rule -> Type0 Source #

IsType0 Text Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Methods

toType0 :: Text -> Type0 Source #

IsType0 Integer Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Methods

toType0 :: Integer -> Type0 Source #

IsType0 Double Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Methods

toType0 :: Double -> Type0 Source #

IsType0 Float Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Methods

toType0 :: Float -> Type0 Source #

IsType0 (Value a) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Methods

toType0 :: Value a -> Type0 Source #

data Value a where Source #

Type-parametrised value type handling CBOR primitives. This is used to constrain the set of constraints which can apply to a given postlude type.

Instances

Instances details
Show (Value a) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Methods

showsPrec :: Int -> Value a -> ShowS #

show :: Value a -> String #

showList :: [Value a] -> ShowS #

IsType0 (Value a) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Methods

toType0 :: Value a -> Type0 Source #

IsConstrainable (Value a) a Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Methods

toConstrainable :: Value a -> Constrainable a

AST extensions

data HuddleStage Source #

Instances

Instances details
IndexMappable XCddl HuddleStage CTreePhase Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XCddl HuddleStage PrettyStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XCddl ParserStage HuddleStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XRule HuddleStage CTreePhase Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XRule HuddleStage PrettyStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XTerm HuddleStage CTreePhase Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XTerm HuddleStage PrettyStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XTerm ParserStage HuddleStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XXTopLevel HuddleStage PrettyStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XXTopLevel ParserStage HuddleStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XXType2 HuddleStage CTreePhase Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XXType2 HuddleStage PrettyStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XXType2 ParserStage HuddleStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

Monoid (XCddl HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Monoid (XTerm HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Monoid (XXTopLevel HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Semigroup (XCddl HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Semigroup (XTerm HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Semigroup (XXTopLevel HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Semigroup (XXType2 HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Generic (XCddl HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Associated Types

type Rep (XCddl HuddleStage) 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

type Rep (XCddl HuddleStage) = D1 ('MetaData "XCddl" "Codec.CBOR.Cuddle.Huddle" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "HuddleXCddl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Comment])))
Generic (XRule HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Associated Types

type Rep (XRule HuddleStage) 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

type Rep (XRule HuddleStage) = D1 ('MetaData "XRule" "Codec.CBOR.Cuddle.Huddle" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'False) (C1 ('MetaCons "HuddleXRule" 'PrefixI 'True) (S1 ('MetaSel ('Just "hxrComment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comment) :*: S1 ('MetaSel ('Just "hxrGenerator") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe CBORGenerator))))
Generic (XTerm HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Associated Types

type Rep (XTerm HuddleStage) 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

type Rep (XTerm HuddleStage) = D1 ('MetaData "XTerm" "Codec.CBOR.Cuddle.Huddle" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "HuddleXTerm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comment)))
Generic (XXTopLevel HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Associated Types

type Rep (XXTopLevel HuddleStage) 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

type Rep (XXTopLevel HuddleStage) = D1 ('MetaData "XXTopLevel" "Codec.CBOR.Cuddle.Huddle" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "HuddleXXTopLevel" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comment)))
Generic (XXType2 HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Associated Types

type Rep (XXType2 HuddleStage) 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

type Rep (XXType2 HuddleStage) = D1 ('MetaData "XXType2" "Codec.CBOR.Cuddle.Huddle" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "HuddleXXType2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Void)))
Show (XCddl HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Show (XTerm HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Show (XXTopLevel HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Show (XXType2 HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

HasComment (XRule HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Default (XRule HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Eq (XCddl HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Eq (XTerm HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Eq (XXTopLevel HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Eq (XXType2 HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

newtype XCddl HuddleStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

data XRule HuddleStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

newtype XTerm HuddleStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

newtype XXTopLevel HuddleStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

newtype XXType2 HuddleStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

type Rep (XCddl HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

type Rep (XCddl HuddleStage) = D1 ('MetaData "XCddl" "Codec.CBOR.Cuddle.Huddle" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "HuddleXCddl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Comment])))
type Rep (XRule HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

type Rep (XRule HuddleStage) = D1 ('MetaData "XRule" "Codec.CBOR.Cuddle.Huddle" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'False) (C1 ('MetaCons "HuddleXRule" 'PrefixI 'True) (S1 ('MetaSel ('Just "hxrComment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comment) :*: S1 ('MetaSel ('Just "hxrGenerator") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe CBORGenerator))))
type Rep (XTerm HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

type Rep (XTerm HuddleStage) = D1 ('MetaData "XTerm" "Codec.CBOR.Cuddle.Huddle" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "HuddleXTerm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comment)))
type Rep (XXTopLevel HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

type Rep (XXTopLevel HuddleStage) = D1 ('MetaData "XXTopLevel" "Codec.CBOR.Cuddle.Huddle" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "HuddleXXTopLevel" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comment)))
type Rep (XXType2 HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

type Rep (XXType2 HuddleStage) = D1 ('MetaData "XXType2" "Codec.CBOR.Cuddle.Huddle" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "HuddleXXType2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Void)))

data family XCddl i Source #

Instances

Instances details
IndexMappable XCddl HuddleStage CTreePhase Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XCddl HuddleStage PrettyStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XCddl ParserStage CTreePhase Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XCddl ParserStage HuddleStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XCddl ParserStage ParserStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XCddl ParserStage PrettyStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

Monoid (XCddl HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Monoid (XCddl ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

Semigroup (XCddl HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Semigroup (XCddl ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

Generic (XCddl CTreePhase) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

Associated Types

type Rep (XCddl CTreePhase) 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

type Rep (XCddl CTreePhase) = D1 ('MetaData "XCddl" "Codec.CBOR.Cuddle.CDDL.CTree" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'False) (C1 ('MetaCons "CTreeXCddl" 'PrefixI 'False) (U1 :: Type -> Type))
Generic (XCddl HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Associated Types

type Rep (XCddl HuddleStage) 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

type Rep (XCddl HuddleStage) = D1 ('MetaData "XCddl" "Codec.CBOR.Cuddle.Huddle" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "HuddleXCddl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Comment])))
Generic (XCddl ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

Associated Types

type Rep (XCddl ParserStage) 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

type Rep (XCddl ParserStage) = D1 ('MetaData "XCddl" "Codec.CBOR.Cuddle.Parser" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "ParserXCddl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Comment])))
Generic (XCddl PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

Associated Types

type Rep (XCddl PrettyStage) 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

type Rep (XCddl PrettyStage) = D1 ('MetaData "XCddl" "Codec.CBOR.Cuddle.Pretty" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "PrettyXCddl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Comment])))
Show (XCddl CTreePhase) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

Show (XCddl HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Show (XCddl ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

Show (XCddl PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

CollectComments (XCddl PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

Eq (XCddl CTreePhase) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

Eq (XCddl HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Eq (XCddl ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

Eq (XCddl PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

Ord (XCddl CTreePhase) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

ToExpr (XCddl ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

ToExpr (XCddl PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

data XCddl CTreePhase Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

newtype XCddl HuddleStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

newtype XCddl ParserStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

newtype XCddl PrettyStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

type Rep (XCddl CTreePhase) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

type Rep (XCddl CTreePhase) = D1 ('MetaData "XCddl" "Codec.CBOR.Cuddle.CDDL.CTree" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'False) (C1 ('MetaCons "CTreeXCddl" 'PrefixI 'False) (U1 :: Type -> Type))
type Rep (XCddl HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

type Rep (XCddl HuddleStage) = D1 ('MetaData "XCddl" "Codec.CBOR.Cuddle.Huddle" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "HuddleXCddl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Comment])))
type Rep (XCddl ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

type Rep (XCddl ParserStage) = D1 ('MetaData "XCddl" "Codec.CBOR.Cuddle.Parser" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "ParserXCddl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Comment])))
type Rep (XCddl PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

type Rep (XCddl PrettyStage) = D1 ('MetaData "XCddl" "Codec.CBOR.Cuddle.Pretty" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "PrettyXCddl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Comment])))

data family XTerm i Source #

Instances

Instances details
IndexMappable XTerm HuddleStage CTreePhase Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XTerm HuddleStage PrettyStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XTerm ParserStage CTreePhase Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XTerm ParserStage HuddleStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XTerm ParserStage ParserStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XTerm ParserStage PrettyStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IsString (XTerm PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

Monoid (XTerm HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Monoid (XTerm ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

Monoid (XTerm PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

Semigroup (XTerm HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Semigroup (XTerm ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

Semigroup (XTerm PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

Generic (XTerm CTreePhase) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

Associated Types

type Rep (XTerm CTreePhase) 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

type Rep (XTerm CTreePhase) = D1 ('MetaData "XTerm" "Codec.CBOR.Cuddle.CDDL.CTree" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'False) (C1 ('MetaCons "CTreeXTerm" 'PrefixI 'False) (U1 :: Type -> Type))
Generic (XTerm HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Associated Types

type Rep (XTerm HuddleStage) 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

type Rep (XTerm HuddleStage) = D1 ('MetaData "XTerm" "Codec.CBOR.Cuddle.Huddle" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "HuddleXTerm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comment)))
Generic (XTerm ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

Associated Types

type Rep (XTerm ParserStage) 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

type Rep (XTerm ParserStage) = D1 ('MetaData "XTerm" "Codec.CBOR.Cuddle.Parser" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "ParserXTerm" 'PrefixI 'True) (S1 ('MetaSel ('Just "unParserXTerm") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comment)))
Generic (XTerm PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

Associated Types

type Rep (XTerm PrettyStage) 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

type Rep (XTerm PrettyStage) = D1 ('MetaData "XTerm" "Codec.CBOR.Cuddle.Pretty" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "PrettyXTerm" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPrettyXTerm") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comment)))
Show (XTerm ValidatorStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CBOR.Validator

Show (XTerm CTreePhase) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

Show (XTerm HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Show (XTerm ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

Show (XTerm PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

CollectComments (XTerm PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

HasComment (XTerm ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

HasComment (XTerm PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

Default (XTerm CTreePhase) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

Methods

def :: XTerm CTreePhase #

Eq (XTerm CTreePhase) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

Eq (XTerm HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Eq (XTerm ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

Eq (XTerm PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

Ord (XTerm CTreePhase) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

Hashable (XTerm CTreePhase) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

ToExpr (XTerm ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

ToExpr (XTerm PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

data XTerm ValidatorStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CBOR.Validator

data XTerm CTreePhase Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

newtype XTerm HuddleStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

newtype XTerm ParserStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

newtype XTerm PrettyStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

type Rep (XTerm CTreePhase) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

type Rep (XTerm CTreePhase) = D1 ('MetaData "XTerm" "Codec.CBOR.Cuddle.CDDL.CTree" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'False) (C1 ('MetaCons "CTreeXTerm" 'PrefixI 'False) (U1 :: Type -> Type))
type Rep (XTerm HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

type Rep (XTerm HuddleStage) = D1 ('MetaData "XTerm" "Codec.CBOR.Cuddle.Huddle" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "HuddleXTerm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comment)))
type Rep (XTerm ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

type Rep (XTerm ParserStage) = D1 ('MetaData "XTerm" "Codec.CBOR.Cuddle.Parser" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "ParserXTerm" 'PrefixI 'True) (S1 ('MetaSel ('Just "unParserXTerm") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comment)))
type Rep (XTerm PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

type Rep (XTerm PrettyStage) = D1 ('MetaData "XTerm" "Codec.CBOR.Cuddle.Pretty" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "PrettyXTerm" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPrettyXTerm") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comment)))

data family XRule i Source #

Instances

Instances details
IndexMappable XRule HuddleStage CTreePhase Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XRule HuddleStage PrettyStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XRule ParserStage CTreePhase Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XRule ParserStage ParserStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XRule ParserStage PrettyStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

Monoid (XRule ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

Semigroup (XRule ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

Generic (XRule CTreePhase) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

Associated Types

type Rep (XRule CTreePhase) 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

type Rep (XRule CTreePhase) = D1 ('MetaData "XRule" "Codec.CBOR.Cuddle.CDDL.CTree" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "CTreeXRule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe CBORGenerator))))
Generic (XRule HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Associated Types

type Rep (XRule HuddleStage) 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

type Rep (XRule HuddleStage) = D1 ('MetaData "XRule" "Codec.CBOR.Cuddle.Huddle" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'False) (C1 ('MetaCons "HuddleXRule" 'PrefixI 'True) (S1 ('MetaSel ('Just "hxrComment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comment) :*: S1 ('MetaSel ('Just "hxrGenerator") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe CBORGenerator))))
Generic (XRule ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

Associated Types

type Rep (XRule ParserStage) 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

type Rep (XRule ParserStage) = D1 ('MetaData "XRule" "Codec.CBOR.Cuddle.Parser" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "ParserXRule" 'PrefixI 'True) (S1 ('MetaSel ('Just "unParserXRule") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comment)))
Generic (XRule PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

Associated Types

type Rep (XRule PrettyStage) 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

type Rep (XRule PrettyStage) = D1 ('MetaData "XRule" "Codec.CBOR.Cuddle.Pretty" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "PrettyXRule" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPrettyXRule") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comment)))
Show (XRule ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

Show (XRule PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

CollectComments (XRule PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

HasComment (XRule HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

HasComment (XRule ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

HasComment (XRule PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

Default (XRule HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Default (XRule PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

Eq (XRule ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

Eq (XRule PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

ToExpr (XRule ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

ToExpr (XRule PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

newtype XRule CTreePhase Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

data XRule HuddleStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

newtype XRule ParserStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

newtype XRule PrettyStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

type Rep (XRule CTreePhase) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

type Rep (XRule CTreePhase) = D1 ('MetaData "XRule" "Codec.CBOR.Cuddle.CDDL.CTree" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "CTreeXRule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe CBORGenerator))))
type Rep (XRule HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

type Rep (XRule HuddleStage) = D1 ('MetaData "XRule" "Codec.CBOR.Cuddle.Huddle" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'False) (C1 ('MetaCons "HuddleXRule" 'PrefixI 'True) (S1 ('MetaSel ('Just "hxrComment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comment) :*: S1 ('MetaSel ('Just "hxrGenerator") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe CBORGenerator))))
type Rep (XRule ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

type Rep (XRule ParserStage) = D1 ('MetaData "XRule" "Codec.CBOR.Cuddle.Parser" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "ParserXRule" 'PrefixI 'True) (S1 ('MetaSel ('Just "unParserXRule") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comment)))
type Rep (XRule PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

type Rep (XRule PrettyStage) = D1 ('MetaData "XRule" "Codec.CBOR.Cuddle.Pretty" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "PrettyXRule" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPrettyXRule") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comment)))

data family XXTopLevel i Source #

Instances

Instances details
IndexMappable XXTopLevel HuddleStage PrettyStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XXTopLevel ParserStage HuddleStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XXTopLevel ParserStage ParserStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XXTopLevel ParserStage PrettyStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

Monoid (XXTopLevel HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Semigroup (XXTopLevel HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Generic (XXTopLevel CTreePhase) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

Associated Types

type Rep (XXTopLevel CTreePhase) 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

type Rep (XXTopLevel CTreePhase) = D1 ('MetaData "XXTopLevel" "Codec.CBOR.Cuddle.CDDL.CTree" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "CTreeXXTopLevel" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Void)))
Generic (XXTopLevel HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Associated Types

type Rep (XXTopLevel HuddleStage) 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

type Rep (XXTopLevel HuddleStage) = D1 ('MetaData "XXTopLevel" "Codec.CBOR.Cuddle.Huddle" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "HuddleXXTopLevel" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comment)))
Generic (XXTopLevel ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

Associated Types

type Rep (XXTopLevel ParserStage) 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

type Rep (XXTopLevel ParserStage) = D1 ('MetaData "XXTopLevel" "Codec.CBOR.Cuddle.Parser" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "ParserXXTopLevel" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comment)))
Generic (XXTopLevel PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

Associated Types

type Rep (XXTopLevel PrettyStage) 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

type Rep (XXTopLevel PrettyStage) = D1 ('MetaData "XXTopLevel" "Codec.CBOR.Cuddle.Pretty" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "PrettyXXTopLevel" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comment)))
Show (XXTopLevel CTreePhase) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

Show (XXTopLevel HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Show (XXTopLevel ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

Show (XXTopLevel PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

CollectComments (XXTopLevel PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

Eq (XXTopLevel CTreePhase) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

Eq (XXTopLevel HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Eq (XXTopLevel ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

Eq (XXTopLevel PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

Ord (XXTopLevel CTreePhase) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

ToExpr (XXTopLevel ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

ToExpr (XXTopLevel PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

newtype XXTopLevel CTreePhase Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

newtype XXTopLevel HuddleStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

newtype XXTopLevel ParserStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

newtype XXTopLevel PrettyStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

type Rep (XXTopLevel CTreePhase) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

type Rep (XXTopLevel CTreePhase) = D1 ('MetaData "XXTopLevel" "Codec.CBOR.Cuddle.CDDL.CTree" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "CTreeXXTopLevel" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Void)))
type Rep (XXTopLevel HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

type Rep (XXTopLevel HuddleStage) = D1 ('MetaData "XXTopLevel" "Codec.CBOR.Cuddle.Huddle" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "HuddleXXTopLevel" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comment)))
type Rep (XXTopLevel ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

type Rep (XXTopLevel ParserStage) = D1 ('MetaData "XXTopLevel" "Codec.CBOR.Cuddle.Parser" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "ParserXXTopLevel" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comment)))
type Rep (XXTopLevel PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

type Rep (XXTopLevel PrettyStage) = D1 ('MetaData "XXTopLevel" "Codec.CBOR.Cuddle.Pretty" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "PrettyXXTopLevel" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comment)))

data family XXType2 i Source #

Instances

Instances details
IndexMappable XXType2 HuddleStage CTreePhase Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XXType2 HuddleStage PrettyStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XXType2 ParserStage CTreePhase Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XXType2 ParserStage HuddleStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XXType2 ParserStage ParserStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

IndexMappable XXType2 ParserStage PrettyStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.IndexMappable

Semigroup (XXType2 HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Generic (XXType2 CTreePhase) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

Associated Types

type Rep (XXType2 CTreePhase) 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

type Rep (XXType2 CTreePhase) = D1 ('MetaData "XXType2" "Codec.CBOR.Cuddle.CDDL.CTree" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "CTreeXXType2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Void)))
Generic (XXType2 HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Associated Types

type Rep (XXType2 HuddleStage) 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

type Rep (XXType2 HuddleStage) = D1 ('MetaData "XXType2" "Codec.CBOR.Cuddle.Huddle" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "HuddleXXType2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Void)))
Generic (XXType2 ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

Associated Types

type Rep (XXType2 ParserStage) 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

type Rep (XXType2 ParserStage) = D1 ('MetaData "XXType2" "Codec.CBOR.Cuddle.Parser" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "ParserXXType2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Void)))
Generic (XXType2 PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

Associated Types

type Rep (XXType2 PrettyStage) 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

type Rep (XXType2 PrettyStage) = D1 ('MetaData "XXType2" "Codec.CBOR.Cuddle.Pretty" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "PrettyXXType2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Void)))
Show (XXType2 CTreePhase) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

Show (XXType2 HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Show (XXType2 ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

Show (XXType2 PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

CollectComments (XXType2 PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

Eq (XXType2 CTreePhase) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

Eq (XXType2 HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Eq (XXType2 ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

Eq (XXType2 PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

Ord (XXType2 CTreePhase) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

Hashable (XXType2 CTreePhase) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

ToExpr (XXType2 ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

ToExpr (XXType2 PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

newtype XXType2 CTreePhase Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

newtype XXType2 HuddleStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

newtype XXType2 ParserStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

newtype XXType2 PrettyStage Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

type Rep (XXType2 CTreePhase) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL.CTree

type Rep (XXType2 CTreePhase) = D1 ('MetaData "XXType2" "Codec.CBOR.Cuddle.CDDL.CTree" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "CTreeXXType2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Void)))
type Rep (XXType2 HuddleStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

type Rep (XXType2 HuddleStage) = D1 ('MetaData "XXType2" "Codec.CBOR.Cuddle.Huddle" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "HuddleXXType2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Void)))
type Rep (XXType2 ParserStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Parser

type Rep (XXType2 ParserStage) = D1 ('MetaData "XXType2" "Codec.CBOR.Cuddle.Parser" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "ParserXXType2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Void)))
type Rep (XXType2 PrettyStage) Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Pretty

type Rep (XXType2 PrettyStage) = D1 ('MetaData "XXType2" "Codec.CBOR.Cuddle.Pretty" "cuddle-1.1.0.0-FBfXbuYjcH55Ev8TDYHISa" 'True) (C1 ('MetaCons "PrettyXXType2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Void)))

Rules and assignment

(=:=) :: IsType0 a => Name -> a -> Rule infixl 1 Source #

Assign a rule

(=:~) :: Name -> Group -> GroupDef infixl 1 Source #

comment :: HasComment a => Comment -> a -> a Source #

Add a description to a rule or group entry, to be included as a comment.

Maps

(==>) :: (IsType0 a, IsEntryLike me) => Key -> a -> me infixl 8 Source #

mp :: MapChoice -> MapChoice Source #

asKey :: IsType0 r => r -> Key Source #

idx :: Word64 -> Key Source #

Use a number as a key

Arrays

a :: (IsType0 a, IsGroupOrArrayEntry e) => a -> e Source #

Explicitly cast an item in an Array as an ArrayEntry.

arr :: ArrayChoice -> ArrayChoice Source #

This function is used solely to resolve type inference by explicitly identifying something as an array.

Groups

data Group Source #

Instances

Instances details
Monoid Group Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Methods

mempty :: Group #

mappend :: Group -> Group -> Group #

mconcat :: [Group] -> Group #

Semigroup Group Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Methods

(<>) :: Group -> Group -> Group #

sconcat :: NonEmpty Group -> Group #

stimes :: Integral b => b -> Group -> Group #

IsList Group Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Associated Types

type Item Group 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

type Item Group
type Item Group Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

type Item Group

Quantification

class CanQuantify a where Source #

Methods

(<+) :: Word64 -> a -> a infixl 7 Source #

Apply a lower bound

(+>) :: a -> Word64 -> a infixr 6 Source #

Apply an upper bound

opt :: CanQuantify a => a -> a Source #

Choices

(/) :: (IsChoosable a c, IsChoosable b c) => a -> b -> Choice c infixl 9 Source #

Allow choices between constructions

in CDDL, / a choice between types (concretely, between Type1 values, to make a Type0). // allows choice between groups. We can illustrate the difference with the following snippet:

 foo = [ 0  1, uint  2 3, tstr ]

This construction would match either of the following:

 [0, 3] [2, "Hello World"]

In other words, the // binds less strongly than comma (',') in CDDL.

In Haskell, of course, we cannot have syntax inside an array which binds stronger than the comma. so we have to do things a little differently. The way this is handled at the moment is that / has special treatment for arrays/groups, where it will, instead of creating a type-level choice, merge the two arraysgroupsmaps into a single one containing a group choice.

If one instead wants the behaviour corresponding to the CDDL / for arrays, maps or groups, one can "seal" the array or group using the seal, sarr or smp functions. For example:

 "foo" =:= sarr [0, a VUInt] / sarr [1, a VText]

Generates a choice (at the Type0) level between two arrays, whereas

 "foo" =:= arr [0, a VUInt] / arr [1, a VUInt]

will generate a single array containing a group choice between two groups.

As such, there is no // operator in Huddle.

seal :: a -> Seal a Source #

Seal an array or map, indicating that it will no longer absorb (//). This is needed if you wish to include an array or map inside a top-level choice.

sarr :: ArrayChoice -> Seal Array Source #

Create and seal an array, marking it as accepting no additional choices

smp :: MapChoice -> Seal Map Source #

Create and seal a map, marking it as accepting no additional choices.

Literals

data Literal Source #

Instances

Instances details
Show Literal Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

HasComment Literal Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

IsType0 Literal Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Methods

toType0 :: Literal -> Type0 Source #

Ctl operators

class IsConstrainable a x | a -> x Source #

Minimal complete definition

toConstrainable

Instances

Instances details
IsConstrainable (Value a) a Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Methods

toConstrainable :: Value a -> Constrainable a

class IsSizeable (a :: k) Source #

Marker that we can apply the size CtlOp to something. Not intended for export.

Instances

Instances details
IsSizeable ByteString Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

IsSizeable Text Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

IsSizeable Int Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

sized :: forall c a s. (IsSizeable a, IsSize s, IsConstrainable c a) => c -> s -> Constrained Source #

Declare a size constraint on an int-style type or reference. Since 0.3.4 this has worked for reference types as well as values.

cbor :: (IsCborable b, IsConstrainable c b) => c -> Rule -> Constrained Source #

le :: (IsComparable a, IsConstrainable c a) => c -> Word64 -> Constrained Source #

Ranged

(...) :: (IsRangeBound a, IsRangeBound b) => a -> b -> Ranged infixl 9 Source #

Establish a closed range bound.

Tagging

tag :: Word64 -> a -> Tagged a Source #

Tag a CBOR item with a CDDL minor type. Thus, `tag n x` is equivalent to `#6.n(x)` in CDDL.

Generics

data GRef Source #

Instances

Instances details
Show GRef Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Methods

showsPrec :: Int -> GRef -> ShowS #

show :: GRef -> String #

showList :: [GRef] -> ShowS #

IsType0 GRef Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Methods

toType0 :: GRef -> Type0 Source #

data GRuleDef Source #

Constructors

GRuleDef 

Fields

Instances

Instances details
HasName GRuleDef Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

data GRuleCall Source #

Constructors

GRuleCall 

Fields

Instances

Instances details
IsType0 GRuleCall Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Methods

toType0 :: GRuleCall -> Type0 Source #

binding :: IsType0 t0 => (GRef -> Rule) -> t0 -> GRuleCall Source #

Bind a single variable into a generic call

binding2 :: (IsType0 t0, IsType0 t1) => (GRef -> GRef -> Rule) -> t0 -> t1 -> GRuleCall Source #

Bind two variables as a generic call

callToDef :: GRule Type2 -> GRule GRef Source #

Generators

withGenerator :: HasGenerator a => (forall g (m :: Type -> Type). StatefulGen g m => g -> m WrappedTerm) -> a -> a Source #

Name

class HasName a where Source #

Methods

getName :: a -> Name Source #

Instances

Instances details
HasName Name Source # 
Instance details

Defined in Codec.CBOR.Cuddle.CDDL

Methods

getName :: Name -> Name Source #

HasName GRuleDef Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

HasName GroupDef Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

HasName HuddleItem Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

HasName Rule Source # 
Instance details

Defined in Codec.CBOR.Cuddle.Huddle

Methods

getName :: Rule -> Name Source #

Conversion to CDDL

collectFrom :: [HuddleItem] -> Huddle Source #

Collect all rules starting from a given point. This will also insert a single pseudo-rule as the first element which references the specified top-level rules.

collectFromInit :: [HuddleItem] -> Huddle Source #

Same as collectFrom, but the rules passed into this function will be put at the top of the Huddle, and all of their dependencies will be added at the end in depth-first order.

toCDDL :: Huddle -> CDDL HuddleStage Source #

Convert from Huddle to CDDL, generating a top level root element.

toCDDLNoRoot :: Huddle -> CDDL HuddleStage Source #

Convert from Huddle to CDDL, skipping a root element.