| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
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
- data Huddle
- data HuddleItem
- huddleAugment :: Huddle -> Huddle -> Huddle
- data Rule = Rule {
- ruleDefinition :: Named Type0
- ruleExtra :: XRule HuddleStage
- data GroupDef = GroupDef {
- gdNamed :: Named Group
- gdExt :: XRule HuddleStage
- class IsType0 a where
- toType0 :: a -> Type0
- data Value a where
- data HuddleStage
- data family XCddl i
- data family XTerm i
- data family XRule i
- data family XXTopLevel i
- data family XXType2 i
- (=:=) :: IsType0 a => Name -> a -> Rule
- (=:~) :: Name -> Group -> GroupDef
- comment :: HasComment a => Comment -> a -> a
- (==>) :: (IsType0 a, IsEntryLike me) => Key -> a -> me
- mp :: MapChoice -> MapChoice
- asKey :: IsType0 r => r -> Key
- idx :: Word64 -> Key
- a :: (IsType0 a, IsGroupOrArrayEntry e) => a -> e
- arr :: ArrayChoice -> ArrayChoice
- data Group
- grp :: Group -> Group
- class CanQuantify a where
- opt :: CanQuantify a => a -> a
- (/) :: (IsChoosable a c, IsChoosable b c) => a -> b -> Choice c
- seal :: a -> Seal a
- sarr :: ArrayChoice -> Seal Array
- smp :: MapChoice -> Seal Map
- data Literal
- bstr :: ByteString -> Literal
- int :: Integer -> Literal
- text :: Text -> Literal
- bool :: Bool -> Literal
- class IsConstrainable a x | a -> x
- class IsSizeable (a :: k)
- sized :: forall c a s. (IsSizeable a, IsSize s, IsConstrainable c a) => c -> s -> Constrained
- cbor :: (IsCborable b, IsConstrainable c b) => c -> Rule -> Constrained
- le :: (IsComparable a, IsConstrainable c a) => c -> Word64 -> Constrained
- (...) :: (IsRangeBound a, IsRangeBound b) => a -> b -> Ranged
- tag :: Word64 -> a -> Tagged a
- data GRef
- data GRuleDef = GRuleDef {
- grdBody :: Named (GRule GRef)
- grdExtra :: XRule HuddleStage
- data GRuleCall = GRuleCall {
- grcBody :: Named (GRule Type2)
- grcExtra :: XRule HuddleStage
- binding :: IsType0 t0 => (GRef -> Rule) -> t0 -> GRuleCall
- binding2 :: (IsType0 t0, IsType0 t1) => (GRef -> GRef -> Rule) -> t0 -> t1 -> GRuleCall
- callToDef :: GRule Type2 -> GRule GRef
- withGenerator :: HasGenerator a => (forall g (m :: Type -> Type). StatefulGen g m => g -> m WrappedTerm) -> a -> a
- class HasName a where
- collectFrom :: [HuddleItem] -> Huddle
- collectFromInit :: [HuddleItem] -> Huddle
- toCDDL :: Huddle -> CDDL HuddleStage
- toCDDLNoRoot :: Huddle -> CDDL HuddleStage
Core Types
Top-level Huddle type is a list of rules.
Instances
| 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. | ||||
| Generic Huddle Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Associated Types
| |||||
| IsList Huddle Source # | This instance is mostly used for testing | ||||
| Default Huddle Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle | |||||
| type Rep Huddle Source # | |||||
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 # | |||||
Defined in Codec.CBOR.Cuddle.Huddle | |||||
data HuddleItem Source #
Instances
Constructors
| Rule | |
Fields
| |
Instances
| Generic Rule Source # | |
| HasName Rule Source # | |
| HasGenerator Rule Source # | |
Defined in Codec.CBOR.Cuddle.Huddle Methods generatorL :: Lens' Rule (Maybe CBORGenerator) Source # | |
| HasComment Rule Source # | |
| IsType0 Rule Source # | |
Defined in Codec.CBOR.Cuddle.Huddle | |
| type Rep Rule Source # | |
Defined in Codec.CBOR.Cuddle.Huddle | |
class IsType0 a where Source #
Instances
| IsType0 ByteString Source # | |
Defined in Codec.CBOR.Cuddle.Huddle Methods toType0 :: ByteString -> Type0 Source # | |
| IsType0 GRef Source # | |
Defined in Codec.CBOR.Cuddle.Huddle | |
| IsType0 GRuleCall Source # | |
Defined in Codec.CBOR.Cuddle.Huddle | |
| IsType0 GroupDef Source # | |
Defined in Codec.CBOR.Cuddle.Huddle | |
| IsType0 HuddleItem Source # | |
Defined in Codec.CBOR.Cuddle.Huddle Methods toType0 :: HuddleItem -> Type0 Source # | |
| IsType0 Literal Source # | |
Defined in Codec.CBOR.Cuddle.Huddle | |
| IsType0 Rule Source # | |
Defined in Codec.CBOR.Cuddle.Huddle | |
| IsType0 Text Source # | |
Defined in Codec.CBOR.Cuddle.Huddle | |
| IsType0 Integer Source # | |
Defined in Codec.CBOR.Cuddle.Huddle | |
| IsType0 Double Source # | |
Defined in Codec.CBOR.Cuddle.Huddle | |
| IsType0 Float Source # | |
Defined in Codec.CBOR.Cuddle.Huddle | |
| IsType0 (Value a) Source # | |
Defined in Codec.CBOR.Cuddle.Huddle | |
Type-parametrised value type handling CBOR primitives. This is used to constrain the set of constraints which can apply to a given postlude type.
Constructors
| VBool :: Value Bool | |
| VUInt :: Value Int | |
| VNInt :: Value Int | |
| VInt :: Value Int | |
| VHalf :: Value Float | |
| VFloat :: Value Float | |
| VDouble :: Value Double | |
| VBytes :: Value ByteString | |
| VText :: Value Text | |
| VAny :: Value Void | |
| VNil :: Value Void |
Instances
| Show (Value a) Source # | |
| IsType0 (Value a) Source # | |
Defined in Codec.CBOR.Cuddle.Huddle | |
| IsConstrainable (Value a) a Source # | |
Defined in Codec.CBOR.Cuddle.Huddle Methods toConstrainable :: Value a -> Constrainable a | |
AST extensions
data HuddleStage Source #
Instances
| IndexMappable XCddl HuddleStage CTreePhase Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XCddl HuddleStage -> XCddl CTreePhase Source # | |||||
| IndexMappable XCddl HuddleStage PrettyStage Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XCddl HuddleStage -> XCddl PrettyStage Source # | |||||
| IndexMappable XCddl ParserStage HuddleStage Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XCddl ParserStage -> XCddl HuddleStage Source # | |||||
| IndexMappable XRule HuddleStage CTreePhase Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XRule HuddleStage -> XRule CTreePhase Source # | |||||
| IndexMappable XRule HuddleStage PrettyStage Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XRule HuddleStage -> XRule PrettyStage Source # | |||||
| IndexMappable XTerm HuddleStage CTreePhase Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XTerm HuddleStage -> XTerm CTreePhase Source # | |||||
| IndexMappable XTerm HuddleStage PrettyStage Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XTerm HuddleStage -> XTerm PrettyStage Source # | |||||
| IndexMappable XTerm ParserStage HuddleStage Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XTerm ParserStage -> XTerm HuddleStage Source # | |||||
| IndexMappable XXTopLevel HuddleStage PrettyStage Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XXTopLevel HuddleStage -> XXTopLevel PrettyStage Source # | |||||
| IndexMappable XXTopLevel ParserStage HuddleStage Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XXTopLevel ParserStage -> XXTopLevel HuddleStage Source # | |||||
| IndexMappable XXType2 HuddleStage CTreePhase Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XXType2 HuddleStage -> XXType2 CTreePhase Source # | |||||
| IndexMappable XXType2 HuddleStage PrettyStage Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XXType2 HuddleStage -> XXType2 PrettyStage Source # | |||||
| IndexMappable XXType2 ParserStage HuddleStage Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XXType2 ParserStage -> XXType2 HuddleStage Source # | |||||
| Monoid (XCddl HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Methods mempty :: XCddl HuddleStage # mappend :: XCddl HuddleStage -> XCddl HuddleStage -> XCddl HuddleStage # mconcat :: [XCddl HuddleStage] -> XCddl HuddleStage # | |||||
| Monoid (XTerm HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Methods mempty :: XTerm HuddleStage # mappend :: XTerm HuddleStage -> XTerm HuddleStage -> XTerm HuddleStage # mconcat :: [XTerm HuddleStage] -> XTerm HuddleStage # | |||||
| Monoid (XXTopLevel HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Methods mempty :: XXTopLevel HuddleStage # mappend :: XXTopLevel HuddleStage -> XXTopLevel HuddleStage -> XXTopLevel HuddleStage # mconcat :: [XXTopLevel HuddleStage] -> XXTopLevel HuddleStage # | |||||
| Semigroup (XCddl HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Methods (<>) :: XCddl HuddleStage -> XCddl HuddleStage -> XCddl HuddleStage # sconcat :: NonEmpty (XCddl HuddleStage) -> XCddl HuddleStage # stimes :: Integral b => b -> XCddl HuddleStage -> XCddl HuddleStage # | |||||
| Semigroup (XTerm HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Methods (<>) :: XTerm HuddleStage -> XTerm HuddleStage -> XTerm HuddleStage # sconcat :: NonEmpty (XTerm HuddleStage) -> XTerm HuddleStage # stimes :: Integral b => b -> XTerm HuddleStage -> XTerm HuddleStage # | |||||
| Semigroup (XXTopLevel HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Methods (<>) :: XXTopLevel HuddleStage -> XXTopLevel HuddleStage -> XXTopLevel HuddleStage # sconcat :: NonEmpty (XXTopLevel HuddleStage) -> XXTopLevel HuddleStage # stimes :: Integral b => b -> XXTopLevel HuddleStage -> XXTopLevel HuddleStage # | |||||
| Semigroup (XXType2 HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Methods (<>) :: XXType2 HuddleStage -> XXType2 HuddleStage -> XXType2 HuddleStage # sconcat :: NonEmpty (XXType2 HuddleStage) -> XXType2 HuddleStage # stimes :: Integral b => b -> XXType2 HuddleStage -> XXType2 HuddleStage # | |||||
| Generic (XCddl HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Associated Types
Methods from :: XCddl HuddleStage -> Rep (XCddl HuddleStage) x # to :: Rep (XCddl HuddleStage) x -> XCddl HuddleStage # | |||||
| Generic (XRule HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Associated Types
Methods from :: XRule HuddleStage -> Rep (XRule HuddleStage) x # to :: Rep (XRule HuddleStage) x -> XRule HuddleStage # | |||||
| Generic (XTerm HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Associated Types
Methods from :: XTerm HuddleStage -> Rep (XTerm HuddleStage) x # to :: Rep (XTerm HuddleStage) x -> XTerm HuddleStage # | |||||
| Generic (XXTopLevel HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Associated Types
Methods from :: XXTopLevel HuddleStage -> Rep (XXTopLevel HuddleStage) x # to :: Rep (XXTopLevel HuddleStage) x -> XXTopLevel HuddleStage # | |||||
| Generic (XXType2 HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Associated Types
Methods from :: XXType2 HuddleStage -> Rep (XXType2 HuddleStage) x # to :: Rep (XXType2 HuddleStage) x -> XXType2 HuddleStage # | |||||
| Show (XCddl HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle | |||||
| Show (XTerm HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle | |||||
| Show (XXTopLevel HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Methods showsPrec :: Int -> XXTopLevel HuddleStage -> ShowS # show :: XXTopLevel HuddleStage -> String # showList :: [XXTopLevel HuddleStage] -> ShowS # | |||||
| Show (XXType2 HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle | |||||
| HasComment (XRule HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle | |||||
| Default (XRule HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Methods def :: XRule HuddleStage # | |||||
| Eq (XCddl HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Methods (==) :: XCddl HuddleStage -> XCddl HuddleStage -> Bool # (/=) :: XCddl HuddleStage -> XCddl HuddleStage -> Bool # | |||||
| Eq (XTerm HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Methods (==) :: XTerm HuddleStage -> XTerm HuddleStage -> Bool # (/=) :: XTerm HuddleStage -> XTerm HuddleStage -> Bool # | |||||
| Eq (XXTopLevel HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Methods (==) :: XXTopLevel HuddleStage -> XXTopLevel HuddleStage -> Bool # (/=) :: XXTopLevel HuddleStage -> XXTopLevel HuddleStage -> Bool # | |||||
| Eq (XXType2 HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Methods (==) :: XXType2 HuddleStage -> XXType2 HuddleStage -> Bool # (/=) :: XXType2 HuddleStage -> XXType2 HuddleStage -> Bool # | |||||
| newtype XCddl HuddleStage Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle | |||||
| data XRule HuddleStage Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle | |||||
| newtype XTerm HuddleStage Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle | |||||
| newtype XXTopLevel HuddleStage Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle | |||||
| newtype XXType2 HuddleStage Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle | |||||
| type Rep (XCddl HuddleStage) Source # | |||||
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 # | |||||
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 # | |||||
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 # | |||||
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 # | |||||
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))) | |||||
Instances
| IndexMappable XCddl HuddleStage CTreePhase Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XCddl HuddleStage -> XCddl CTreePhase Source # | |||||
| IndexMappable XCddl HuddleStage PrettyStage Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XCddl HuddleStage -> XCddl PrettyStage Source # | |||||
| IndexMappable XCddl ParserStage CTreePhase Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XCddl ParserStage -> XCddl CTreePhase Source # | |||||
| IndexMappable XCddl ParserStage HuddleStage Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XCddl ParserStage -> XCddl HuddleStage Source # | |||||
| IndexMappable XCddl ParserStage ParserStage Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XCddl ParserStage -> XCddl ParserStage Source # | |||||
| IndexMappable XCddl ParserStage PrettyStage Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XCddl ParserStage -> XCddl PrettyStage Source # | |||||
| Monoid (XCddl HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Methods mempty :: XCddl HuddleStage # mappend :: XCddl HuddleStage -> XCddl HuddleStage -> XCddl HuddleStage # mconcat :: [XCddl HuddleStage] -> XCddl HuddleStage # | |||||
| Monoid (XCddl ParserStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser Methods mempty :: XCddl ParserStage # mappend :: XCddl ParserStage -> XCddl ParserStage -> XCddl ParserStage # mconcat :: [XCddl ParserStage] -> XCddl ParserStage # | |||||
| Semigroup (XCddl HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Methods (<>) :: XCddl HuddleStage -> XCddl HuddleStage -> XCddl HuddleStage # sconcat :: NonEmpty (XCddl HuddleStage) -> XCddl HuddleStage # stimes :: Integral b => b -> XCddl HuddleStage -> XCddl HuddleStage # | |||||
| Semigroup (XCddl ParserStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser Methods (<>) :: XCddl ParserStage -> XCddl ParserStage -> XCddl ParserStage # sconcat :: NonEmpty (XCddl ParserStage) -> XCddl ParserStage # stimes :: Integral b => b -> XCddl ParserStage -> XCddl ParserStage # | |||||
| Generic (XCddl CTreePhase) Source # | |||||
Defined in Codec.CBOR.Cuddle.CDDL.CTree Associated Types
Methods from :: XCddl CTreePhase -> Rep (XCddl CTreePhase) x # to :: Rep (XCddl CTreePhase) x -> XCddl CTreePhase # | |||||
| Generic (XCddl HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Associated Types
Methods from :: XCddl HuddleStage -> Rep (XCddl HuddleStage) x # to :: Rep (XCddl HuddleStage) x -> XCddl HuddleStage # | |||||
| Generic (XCddl ParserStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser Associated Types
Methods from :: XCddl ParserStage -> Rep (XCddl ParserStage) x # to :: Rep (XCddl ParserStage) x -> XCddl ParserStage # | |||||
| Generic (XCddl PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty Associated Types
Methods from :: XCddl PrettyStage -> Rep (XCddl PrettyStage) x # to :: Rep (XCddl PrettyStage) x -> XCddl PrettyStage # | |||||
| Show (XCddl CTreePhase) Source # | |||||
Defined in Codec.CBOR.Cuddle.CDDL.CTree | |||||
| Show (XCddl HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle | |||||
| Show (XCddl ParserStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser | |||||
| Show (XCddl PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty | |||||
| CollectComments (XCddl PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty Methods collectComments :: XCddl PrettyStage -> [Comment] Source # | |||||
| Eq (XCddl CTreePhase) Source # | |||||
Defined in Codec.CBOR.Cuddle.CDDL.CTree Methods (==) :: XCddl CTreePhase -> XCddl CTreePhase -> Bool # (/=) :: XCddl CTreePhase -> XCddl CTreePhase -> Bool # | |||||
| Eq (XCddl HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Methods (==) :: XCddl HuddleStage -> XCddl HuddleStage -> Bool # (/=) :: XCddl HuddleStage -> XCddl HuddleStage -> Bool # | |||||
| Eq (XCddl ParserStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser Methods (==) :: XCddl ParserStage -> XCddl ParserStage -> Bool # (/=) :: XCddl ParserStage -> XCddl ParserStage -> Bool # | |||||
| Eq (XCddl PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty Methods (==) :: XCddl PrettyStage -> XCddl PrettyStage -> Bool # (/=) :: XCddl PrettyStage -> XCddl PrettyStage -> Bool # | |||||
| Ord (XCddl CTreePhase) Source # | |||||
Defined in Codec.CBOR.Cuddle.CDDL.CTree Methods compare :: XCddl CTreePhase -> XCddl CTreePhase -> Ordering # (<) :: XCddl CTreePhase -> XCddl CTreePhase -> Bool # (<=) :: XCddl CTreePhase -> XCddl CTreePhase -> Bool # (>) :: XCddl CTreePhase -> XCddl CTreePhase -> Bool # (>=) :: XCddl CTreePhase -> XCddl CTreePhase -> Bool # max :: XCddl CTreePhase -> XCddl CTreePhase -> XCddl CTreePhase # min :: XCddl CTreePhase -> XCddl CTreePhase -> XCddl CTreePhase # | |||||
| ToExpr (XCddl ParserStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser | |||||
| ToExpr (XCddl PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty | |||||
| data XCddl CTreePhase Source # | |||||
Defined in Codec.CBOR.Cuddle.CDDL.CTree | |||||
| newtype XCddl HuddleStage Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle | |||||
| newtype XCddl ParserStage Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser | |||||
| newtype XCddl PrettyStage Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty | |||||
| type Rep (XCddl CTreePhase) Source # | |||||
| type Rep (XCddl HuddleStage) Source # | |||||
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 # | |||||
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 # | |||||
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]))) | |||||
Instances
| IndexMappable XTerm HuddleStage CTreePhase Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XTerm HuddleStage -> XTerm CTreePhase Source # | |||||
| IndexMappable XTerm HuddleStage PrettyStage Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XTerm HuddleStage -> XTerm PrettyStage Source # | |||||
| IndexMappable XTerm ParserStage CTreePhase Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XTerm ParserStage -> XTerm CTreePhase Source # | |||||
| IndexMappable XTerm ParserStage HuddleStage Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XTerm ParserStage -> XTerm HuddleStage Source # | |||||
| IndexMappable XTerm ParserStage ParserStage Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XTerm ParserStage -> XTerm ParserStage Source # | |||||
| IndexMappable XTerm ParserStage PrettyStage Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XTerm ParserStage -> XTerm PrettyStage Source # | |||||
| IsString (XTerm PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty Methods fromString :: String -> XTerm PrettyStage # | |||||
| Monoid (XTerm HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Methods mempty :: XTerm HuddleStage # mappend :: XTerm HuddleStage -> XTerm HuddleStage -> XTerm HuddleStage # mconcat :: [XTerm HuddleStage] -> XTerm HuddleStage # | |||||
| Monoid (XTerm ParserStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser Methods mempty :: XTerm ParserStage # mappend :: XTerm ParserStage -> XTerm ParserStage -> XTerm ParserStage # mconcat :: [XTerm ParserStage] -> XTerm ParserStage # | |||||
| Monoid (XTerm PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty Methods mempty :: XTerm PrettyStage # mappend :: XTerm PrettyStage -> XTerm PrettyStage -> XTerm PrettyStage # mconcat :: [XTerm PrettyStage] -> XTerm PrettyStage # | |||||
| Semigroup (XTerm HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Methods (<>) :: XTerm HuddleStage -> XTerm HuddleStage -> XTerm HuddleStage # sconcat :: NonEmpty (XTerm HuddleStage) -> XTerm HuddleStage # stimes :: Integral b => b -> XTerm HuddleStage -> XTerm HuddleStage # | |||||
| Semigroup (XTerm ParserStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser Methods (<>) :: XTerm ParserStage -> XTerm ParserStage -> XTerm ParserStage # sconcat :: NonEmpty (XTerm ParserStage) -> XTerm ParserStage # stimes :: Integral b => b -> XTerm ParserStage -> XTerm ParserStage # | |||||
| Semigroup (XTerm PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty Methods (<>) :: XTerm PrettyStage -> XTerm PrettyStage -> XTerm PrettyStage # sconcat :: NonEmpty (XTerm PrettyStage) -> XTerm PrettyStage # stimes :: Integral b => b -> XTerm PrettyStage -> XTerm PrettyStage # | |||||
| Generic (XTerm CTreePhase) Source # | |||||
Defined in Codec.CBOR.Cuddle.CDDL.CTree Associated Types
Methods from :: XTerm CTreePhase -> Rep (XTerm CTreePhase) x # to :: Rep (XTerm CTreePhase) x -> XTerm CTreePhase # | |||||
| Generic (XTerm HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Associated Types
Methods from :: XTerm HuddleStage -> Rep (XTerm HuddleStage) x # to :: Rep (XTerm HuddleStage) x -> XTerm HuddleStage # | |||||
| Generic (XTerm ParserStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser Associated Types
Methods from :: XTerm ParserStage -> Rep (XTerm ParserStage) x # to :: Rep (XTerm ParserStage) x -> XTerm ParserStage # | |||||
| Generic (XTerm PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty Associated Types
Methods from :: XTerm PrettyStage -> Rep (XTerm PrettyStage) x # to :: Rep (XTerm PrettyStage) x -> XTerm PrettyStage # | |||||
| Show (XTerm ValidatorStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.CBOR.Validator | |||||
| Show (XTerm CTreePhase) Source # | |||||
Defined in Codec.CBOR.Cuddle.CDDL.CTree | |||||
| Show (XTerm HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle | |||||
| Show (XTerm ParserStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser | |||||
| Show (XTerm PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty | |||||
| CollectComments (XTerm PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty Methods collectComments :: XTerm PrettyStage -> [Comment] Source # | |||||
| HasComment (XTerm ParserStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser | |||||
| HasComment (XTerm PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty | |||||
| Default (XTerm CTreePhase) Source # | |||||
Defined in Codec.CBOR.Cuddle.CDDL.CTree Methods def :: XTerm CTreePhase # | |||||
| Eq (XTerm CTreePhase) Source # | |||||
Defined in Codec.CBOR.Cuddle.CDDL.CTree Methods (==) :: XTerm CTreePhase -> XTerm CTreePhase -> Bool # (/=) :: XTerm CTreePhase -> XTerm CTreePhase -> Bool # | |||||
| Eq (XTerm HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Methods (==) :: XTerm HuddleStage -> XTerm HuddleStage -> Bool # (/=) :: XTerm HuddleStage -> XTerm HuddleStage -> Bool # | |||||
| Eq (XTerm ParserStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser Methods (==) :: XTerm ParserStage -> XTerm ParserStage -> Bool # (/=) :: XTerm ParserStage -> XTerm ParserStage -> Bool # | |||||
| Eq (XTerm PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty Methods (==) :: XTerm PrettyStage -> XTerm PrettyStage -> Bool # (/=) :: XTerm PrettyStage -> XTerm PrettyStage -> Bool # | |||||
| Ord (XTerm CTreePhase) Source # | |||||
Defined in Codec.CBOR.Cuddle.CDDL.CTree Methods compare :: XTerm CTreePhase -> XTerm CTreePhase -> Ordering # (<) :: XTerm CTreePhase -> XTerm CTreePhase -> Bool # (<=) :: XTerm CTreePhase -> XTerm CTreePhase -> Bool # (>) :: XTerm CTreePhase -> XTerm CTreePhase -> Bool # (>=) :: XTerm CTreePhase -> XTerm CTreePhase -> Bool # max :: XTerm CTreePhase -> XTerm CTreePhase -> XTerm CTreePhase # min :: XTerm CTreePhase -> XTerm CTreePhase -> XTerm CTreePhase # | |||||
| Hashable (XTerm CTreePhase) Source # | |||||
Defined in Codec.CBOR.Cuddle.CDDL.CTree | |||||
| ToExpr (XTerm ParserStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser | |||||
| ToExpr (XTerm PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty | |||||
| data XTerm ValidatorStage Source # | |||||
Defined in Codec.CBOR.Cuddle.CBOR.Validator | |||||
| data XTerm CTreePhase Source # | |||||
Defined in Codec.CBOR.Cuddle.CDDL.CTree | |||||
| newtype XTerm HuddleStage Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle | |||||
| newtype XTerm ParserStage Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser | |||||
| newtype XTerm PrettyStage Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty | |||||
| type Rep (XTerm CTreePhase) Source # | |||||
| type Rep (XTerm HuddleStage) Source # | |||||
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 # | |||||
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 # | |||||
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))) | |||||
Instances
| IndexMappable XRule HuddleStage CTreePhase Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XRule HuddleStage -> XRule CTreePhase Source # | |||||
| IndexMappable XRule HuddleStage PrettyStage Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XRule HuddleStage -> XRule PrettyStage Source # | |||||
| IndexMappable XRule ParserStage CTreePhase Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XRule ParserStage -> XRule CTreePhase Source # | |||||
| IndexMappable XRule ParserStage ParserStage Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XRule ParserStage -> XRule ParserStage Source # | |||||
| IndexMappable XRule ParserStage PrettyStage Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XRule ParserStage -> XRule PrettyStage Source # | |||||
| Monoid (XRule ParserStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser Methods mempty :: XRule ParserStage # mappend :: XRule ParserStage -> XRule ParserStage -> XRule ParserStage # mconcat :: [XRule ParserStage] -> XRule ParserStage # | |||||
| Semigroup (XRule ParserStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser Methods (<>) :: XRule ParserStage -> XRule ParserStage -> XRule ParserStage # sconcat :: NonEmpty (XRule ParserStage) -> XRule ParserStage # stimes :: Integral b => b -> XRule ParserStage -> XRule ParserStage # | |||||
| Generic (XRule CTreePhase) Source # | |||||
Defined in Codec.CBOR.Cuddle.CDDL.CTree Associated Types
Methods from :: XRule CTreePhase -> Rep (XRule CTreePhase) x # to :: Rep (XRule CTreePhase) x -> XRule CTreePhase # | |||||
| Generic (XRule HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Associated Types
Methods from :: XRule HuddleStage -> Rep (XRule HuddleStage) x # to :: Rep (XRule HuddleStage) x -> XRule HuddleStage # | |||||
| Generic (XRule ParserStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser Associated Types
Methods from :: XRule ParserStage -> Rep (XRule ParserStage) x # to :: Rep (XRule ParserStage) x -> XRule ParserStage # | |||||
| Generic (XRule PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty Associated Types
Methods from :: XRule PrettyStage -> Rep (XRule PrettyStage) x # to :: Rep (XRule PrettyStage) x -> XRule PrettyStage # | |||||
| Show (XRule ParserStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser | |||||
| Show (XRule PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty | |||||
| CollectComments (XRule PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty Methods collectComments :: XRule PrettyStage -> [Comment] Source # | |||||
| HasComment (XRule HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle | |||||
| HasComment (XRule ParserStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser | |||||
| HasComment (XRule PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty | |||||
| Default (XRule HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Methods def :: XRule HuddleStage # | |||||
| Default (XRule PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty Methods def :: XRule PrettyStage # | |||||
| Eq (XRule ParserStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser Methods (==) :: XRule ParserStage -> XRule ParserStage -> Bool # (/=) :: XRule ParserStage -> XRule ParserStage -> Bool # | |||||
| Eq (XRule PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty Methods (==) :: XRule PrettyStage -> XRule PrettyStage -> Bool # (/=) :: XRule PrettyStage -> XRule PrettyStage -> Bool # | |||||
| ToExpr (XRule ParserStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser | |||||
| ToExpr (XRule PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty | |||||
| newtype XRule CTreePhase Source # | |||||
Defined in Codec.CBOR.Cuddle.CDDL.CTree | |||||
| data XRule HuddleStage Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle | |||||
| newtype XRule ParserStage Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser | |||||
| newtype XRule PrettyStage Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty | |||||
| type Rep (XRule CTreePhase) Source # | |||||
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 # | |||||
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 # | |||||
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 # | |||||
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
| IndexMappable XXTopLevel HuddleStage PrettyStage Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XXTopLevel HuddleStage -> XXTopLevel PrettyStage Source # | |||||
| IndexMappable XXTopLevel ParserStage HuddleStage Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XXTopLevel ParserStage -> XXTopLevel HuddleStage Source # | |||||
| IndexMappable XXTopLevel ParserStage ParserStage Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XXTopLevel ParserStage -> XXTopLevel ParserStage Source # | |||||
| IndexMappable XXTopLevel ParserStage PrettyStage Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XXTopLevel ParserStage -> XXTopLevel PrettyStage Source # | |||||
| Monoid (XXTopLevel HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Methods mempty :: XXTopLevel HuddleStage # mappend :: XXTopLevel HuddleStage -> XXTopLevel HuddleStage -> XXTopLevel HuddleStage # mconcat :: [XXTopLevel HuddleStage] -> XXTopLevel HuddleStage # | |||||
| Semigroup (XXTopLevel HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Methods (<>) :: XXTopLevel HuddleStage -> XXTopLevel HuddleStage -> XXTopLevel HuddleStage # sconcat :: NonEmpty (XXTopLevel HuddleStage) -> XXTopLevel HuddleStage # stimes :: Integral b => b -> XXTopLevel HuddleStage -> XXTopLevel HuddleStage # | |||||
| Generic (XXTopLevel CTreePhase) Source # | |||||
Defined in Codec.CBOR.Cuddle.CDDL.CTree Associated Types
Methods from :: XXTopLevel CTreePhase -> Rep (XXTopLevel CTreePhase) x # to :: Rep (XXTopLevel CTreePhase) x -> XXTopLevel CTreePhase # | |||||
| Generic (XXTopLevel HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Associated Types
Methods from :: XXTopLevel HuddleStage -> Rep (XXTopLevel HuddleStage) x # to :: Rep (XXTopLevel HuddleStage) x -> XXTopLevel HuddleStage # | |||||
| Generic (XXTopLevel ParserStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser Associated Types
Methods from :: XXTopLevel ParserStage -> Rep (XXTopLevel ParserStage) x # to :: Rep (XXTopLevel ParserStage) x -> XXTopLevel ParserStage # | |||||
| Generic (XXTopLevel PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty Associated Types
Methods from :: XXTopLevel PrettyStage -> Rep (XXTopLevel PrettyStage) x # to :: Rep (XXTopLevel PrettyStage) x -> XXTopLevel PrettyStage # | |||||
| Show (XXTopLevel CTreePhase) Source # | |||||
Defined in Codec.CBOR.Cuddle.CDDL.CTree Methods showsPrec :: Int -> XXTopLevel CTreePhase -> ShowS # show :: XXTopLevel CTreePhase -> String # showList :: [XXTopLevel CTreePhase] -> ShowS # | |||||
| Show (XXTopLevel HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Methods showsPrec :: Int -> XXTopLevel HuddleStage -> ShowS # show :: XXTopLevel HuddleStage -> String # showList :: [XXTopLevel HuddleStage] -> ShowS # | |||||
| Show (XXTopLevel ParserStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser Methods showsPrec :: Int -> XXTopLevel ParserStage -> ShowS # show :: XXTopLevel ParserStage -> String # showList :: [XXTopLevel ParserStage] -> ShowS # | |||||
| Show (XXTopLevel PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty Methods showsPrec :: Int -> XXTopLevel PrettyStage -> ShowS # show :: XXTopLevel PrettyStage -> String # showList :: [XXTopLevel PrettyStage] -> ShowS # | |||||
| CollectComments (XXTopLevel PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty Methods collectComments :: XXTopLevel PrettyStage -> [Comment] Source # | |||||
| Eq (XXTopLevel CTreePhase) Source # | |||||
Defined in Codec.CBOR.Cuddle.CDDL.CTree Methods (==) :: XXTopLevel CTreePhase -> XXTopLevel CTreePhase -> Bool # (/=) :: XXTopLevel CTreePhase -> XXTopLevel CTreePhase -> Bool # | |||||
| Eq (XXTopLevel HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Methods (==) :: XXTopLevel HuddleStage -> XXTopLevel HuddleStage -> Bool # (/=) :: XXTopLevel HuddleStage -> XXTopLevel HuddleStage -> Bool # | |||||
| Eq (XXTopLevel ParserStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser Methods (==) :: XXTopLevel ParserStage -> XXTopLevel ParserStage -> Bool # (/=) :: XXTopLevel ParserStage -> XXTopLevel ParserStage -> Bool # | |||||
| Eq (XXTopLevel PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty Methods (==) :: XXTopLevel PrettyStage -> XXTopLevel PrettyStage -> Bool # (/=) :: XXTopLevel PrettyStage -> XXTopLevel PrettyStage -> Bool # | |||||
| Ord (XXTopLevel CTreePhase) Source # | |||||
Defined in Codec.CBOR.Cuddle.CDDL.CTree Methods compare :: XXTopLevel CTreePhase -> XXTopLevel CTreePhase -> Ordering # (<) :: XXTopLevel CTreePhase -> XXTopLevel CTreePhase -> Bool # (<=) :: XXTopLevel CTreePhase -> XXTopLevel CTreePhase -> Bool # (>) :: XXTopLevel CTreePhase -> XXTopLevel CTreePhase -> Bool # (>=) :: XXTopLevel CTreePhase -> XXTopLevel CTreePhase -> Bool # max :: XXTopLevel CTreePhase -> XXTopLevel CTreePhase -> XXTopLevel CTreePhase # min :: XXTopLevel CTreePhase -> XXTopLevel CTreePhase -> XXTopLevel CTreePhase # | |||||
| ToExpr (XXTopLevel ParserStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser | |||||
| ToExpr (XXTopLevel PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty | |||||
| newtype XXTopLevel CTreePhase Source # | |||||
Defined in Codec.CBOR.Cuddle.CDDL.CTree | |||||
| newtype XXTopLevel HuddleStage Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle | |||||
| newtype XXTopLevel ParserStage Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser | |||||
| newtype XXTopLevel PrettyStage Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty | |||||
| type Rep (XXTopLevel CTreePhase) Source # | |||||
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 # | |||||
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 # | |||||
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 # | |||||
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
| IndexMappable XXType2 HuddleStage CTreePhase Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XXType2 HuddleStage -> XXType2 CTreePhase Source # | |||||
| IndexMappable XXType2 HuddleStage PrettyStage Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XXType2 HuddleStage -> XXType2 PrettyStage Source # | |||||
| IndexMappable XXType2 ParserStage CTreePhase Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XXType2 ParserStage -> XXType2 CTreePhase Source # | |||||
| IndexMappable XXType2 ParserStage HuddleStage Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XXType2 ParserStage -> XXType2 HuddleStage Source # | |||||
| IndexMappable XXType2 ParserStage ParserStage Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XXType2 ParserStage -> XXType2 ParserStage Source # | |||||
| IndexMappable XXType2 ParserStage PrettyStage Source # | |||||
Defined in Codec.CBOR.Cuddle.IndexMappable Methods mapIndex :: XXType2 ParserStage -> XXType2 PrettyStage Source # | |||||
| Semigroup (XXType2 HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Methods (<>) :: XXType2 HuddleStage -> XXType2 HuddleStage -> XXType2 HuddleStage # sconcat :: NonEmpty (XXType2 HuddleStage) -> XXType2 HuddleStage # stimes :: Integral b => b -> XXType2 HuddleStage -> XXType2 HuddleStage # | |||||
| Generic (XXType2 CTreePhase) Source # | |||||
Defined in Codec.CBOR.Cuddle.CDDL.CTree Associated Types
Methods from :: XXType2 CTreePhase -> Rep (XXType2 CTreePhase) x # to :: Rep (XXType2 CTreePhase) x -> XXType2 CTreePhase # | |||||
| Generic (XXType2 HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Associated Types
Methods from :: XXType2 HuddleStage -> Rep (XXType2 HuddleStage) x # to :: Rep (XXType2 HuddleStage) x -> XXType2 HuddleStage # | |||||
| Generic (XXType2 ParserStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser Associated Types
Methods from :: XXType2 ParserStage -> Rep (XXType2 ParserStage) x # to :: Rep (XXType2 ParserStage) x -> XXType2 ParserStage # | |||||
| Generic (XXType2 PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty Associated Types
Methods from :: XXType2 PrettyStage -> Rep (XXType2 PrettyStage) x # to :: Rep (XXType2 PrettyStage) x -> XXType2 PrettyStage # | |||||
| Show (XXType2 CTreePhase) Source # | |||||
Defined in Codec.CBOR.Cuddle.CDDL.CTree | |||||
| Show (XXType2 HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle | |||||
| Show (XXType2 ParserStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser | |||||
| Show (XXType2 PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty | |||||
| CollectComments (XXType2 PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty Methods collectComments :: XXType2 PrettyStage -> [Comment] Source # | |||||
| Eq (XXType2 CTreePhase) Source # | |||||
Defined in Codec.CBOR.Cuddle.CDDL.CTree Methods (==) :: XXType2 CTreePhase -> XXType2 CTreePhase -> Bool # (/=) :: XXType2 CTreePhase -> XXType2 CTreePhase -> Bool # | |||||
| Eq (XXType2 HuddleStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle Methods (==) :: XXType2 HuddleStage -> XXType2 HuddleStage -> Bool # (/=) :: XXType2 HuddleStage -> XXType2 HuddleStage -> Bool # | |||||
| Eq (XXType2 ParserStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser Methods (==) :: XXType2 ParserStage -> XXType2 ParserStage -> Bool # (/=) :: XXType2 ParserStage -> XXType2 ParserStage -> Bool # | |||||
| Eq (XXType2 PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty Methods (==) :: XXType2 PrettyStage -> XXType2 PrettyStage -> Bool # (/=) :: XXType2 PrettyStage -> XXType2 PrettyStage -> Bool # | |||||
| Ord (XXType2 CTreePhase) Source # | |||||
Defined in Codec.CBOR.Cuddle.CDDL.CTree Methods compare :: XXType2 CTreePhase -> XXType2 CTreePhase -> Ordering # (<) :: XXType2 CTreePhase -> XXType2 CTreePhase -> Bool # (<=) :: XXType2 CTreePhase -> XXType2 CTreePhase -> Bool # (>) :: XXType2 CTreePhase -> XXType2 CTreePhase -> Bool # (>=) :: XXType2 CTreePhase -> XXType2 CTreePhase -> Bool # max :: XXType2 CTreePhase -> XXType2 CTreePhase -> XXType2 CTreePhase # min :: XXType2 CTreePhase -> XXType2 CTreePhase -> XXType2 CTreePhase # | |||||
| Hashable (XXType2 CTreePhase) Source # | |||||
Defined in Codec.CBOR.Cuddle.CDDL.CTree | |||||
| ToExpr (XXType2 ParserStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser | |||||
| ToExpr (XXType2 PrettyStage) Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty | |||||
| newtype XXType2 CTreePhase Source # | |||||
Defined in Codec.CBOR.Cuddle.CDDL.CTree | |||||
| newtype XXType2 HuddleStage Source # | |||||
Defined in Codec.CBOR.Cuddle.Huddle | |||||
| newtype XXType2 ParserStage Source # | |||||
Defined in Codec.CBOR.Cuddle.Parser | |||||
| newtype XXType2 PrettyStage Source # | |||||
Defined in Codec.CBOR.Cuddle.Pretty | |||||
| type Rep (XXType2 CTreePhase) Source # | |||||
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 # | |||||
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 # | |||||
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 # | |||||
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
comment :: HasComment a => Comment -> a -> a Source #
Add a description to a rule or group entry, to be included as a comment.
Maps
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
Quantification
class CanQuantify a where Source #
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 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
bstr :: ByteString -> Literal Source #
Ctl operators
class IsConstrainable a x | a -> x Source #
Minimal complete definition
toConstrainable
Instances
| IsConstrainable (Value a) a Source # | |
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
| IsSizeable ByteString Source # | |
Defined in Codec.CBOR.Cuddle.Huddle | |
| IsSizeable Text Source # | |
Defined in Codec.CBOR.Cuddle.Huddle | |
| IsSizeable Int Source # | |
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
Constructors
| GRuleCall | |
Fields
| |
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
Generators
withGenerator :: HasGenerator a => (forall g (m :: Type -> Type). StatefulGen g m => g -> m WrappedTerm) -> a -> a Source #
Name
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.