Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
type family IsRuleConform (b :: k) (r :: l) :: Bool Source #
type IsRuleConform Type k t (OneOf ((:) Type r rs)) Source # | |
type IsRuleConform Type k t (OneOf ([] Type)) Source # | |
type IsRuleConform Type k t (TopLevel rule) Source # | |
type IsRuleConform Type * b (MatchSymbol fourcc) Source # | |
type IsRuleConform Type * (Box (SampleEntry handlerSpecificEntry)) (MatchSampleEntry handlerType) Source # | |
type IsRuleConform [Type] [Type] bs sq Source # | |
type IsRuleConform * * (Boxes bs) (Boxes rs) Source # | |
type IsRuleConform * * (Box b) (Box r) Source # | |
type IsRuleConform * * (Box b) (ContainerBox b' rules) Source # | |
data IsRuleConform1 :: k -> l ~> Bool Source #
type Apply l Bool (IsRuleConform1 l k ts) rule Source # | |
data MatchSymbol :: Symbol -> Type Source #
type IsRuleConform Type * b (MatchSymbol fourcc) Source # | |
data OnceOptionalX t Source #
data SomeOptionalX t Source #
data SomeMandatoryX t Source #
type family IsSequence (bs :: [k]) (rs :: [j]) :: Bool where ... Source #
IsSequence '[] '[] = True | |
IsSequence (b ': bs) '[] = False | |
IsSequence '[] (OnceOptionalX r ': rs) = IsSequence '[] rs | |
IsSequence (b ': bs) (OnceOptionalX r ': rs) = If (IsRuleConform b r) (IsSequence bs rs) (IsSequence (b ': bs) rs) | |
IsSequence '[] (SomeOptionalX r ': rs) = IsSequence '[] rs | |
IsSequence (b ': bs) (SomeOptionalX r ': rs) = If (IsRuleConform b r) (IsSequence bs (SomeOptionalX r ': rs)) (IsSequence (b ': bs) rs) | |
IsSequence '[] (SomeMandatoryX r ': rs) = False | |
IsSequence (b ': bs) (SomeMandatoryX r ': rs) = IsRuleConform b r && IsSequence bs (SomeOptionalX r ': rs) | |
IsSequence '[] (r ': rs) = False | |
IsSequence (b ': bs) (r ': rs) = IsRuleConform b r && IsSequence bs rs |