data DisjointMatchesSnoc : Type -> TypeA data structure to represent succesful (disjoint) matches in a string.
A string is written here as alternatating sequence of substring and matches.
E.g. the string "aaadeebbjk" matched against r "((a*d)|(bb))!" is represented as
Snoc (Snoc (Prefix []) (Just 3) ['e', 'e']) Nothing ['j','k']
Similar: DisjointMatches
Prefix : SnocList Char -> DisjointMatchesSnoc aSnoc : DisjointMatchesSnoc a -> a -> SnocList Char -> DisjointMatchesSnoc aCast (DisjointMatchesSnoc a) (DisjointMatches a)Cast (DisjointMatches a) (DisjointMatchesSnoc a)Functor DisjointMatchesSnocShow a => Show (DisjointMatchesSnoc a)(:<) : DisjointMatchesSnoc a -> Char -> DisjointMatchesSnoc a(:+:) : DisjointMatchesSnoc a -> a -> DisjointMatchesSnoc adata DisjointMatches : Type -> TypeA data structure to represent succesful (disjoint) matches in a string.
A string is written here as alternatating sequence of substring and matches.
E.g. the string "aaadeebbjk" matched against r "((a*d)|(bb))!" is represented as
Cons [] (Just 3) (Cons ['e', 'e'] Nothing (Suffix ['j','k']))
Similar: DisjointMatchesSnoc
Suffix : List Char -> DisjointMatches aCons : List Char -> a -> DisjointMatches a -> DisjointMatches aCast (DisjointMatchesSnoc a) (DisjointMatches a)Cast (DisjointMatches a) (DisjointMatchesSnoc a)Functor DisjointMatchesShow a => Show (DisjointMatches a)(::) : DisjointMatches a -> Char -> DisjointMatches a(.+.) : a -> DisjointMatches a -> DisjointMatches a(<>>) : DisjointMatchesSnoc a -> DisjointMatches a -> DisjointMatches a(<><) : DisjointMatchesSnoc a -> DisjointMatches a -> DisjointMatchesSnoc atoString : (a -> String) -> DisjointMatches a -> StringtoStringSnoc : (a -> String) -> DisjointMatchesSnoc a -> Stringlength : DisjointMatches a -> Nat