Safe Haskell | None |
---|
- data Zero = Zero
- data Succ nat = Succ nat
- class TypeNat nat where
- toValueNat :: Num i => nat -> i
- data MinLen nat mono
- unMinLen :: MinLen nat mono -> mono
- toMinLenZero :: mono -> MinLen Zero mono
- toMinLen :: (MonoFoldable mono, TypeNat nat) => mono -> Maybe (MinLen nat mono)
- mlcons :: IsSequence seq => Element seq -> MinLen nat seq -> MinLen (Succ nat) seq
- mlappend :: IsSequence seq => MinLen x seq -> MinLen y seq -> MinLen (AddNat x y) seq
- mlunion :: GrowingAppend mono => MinLen x mono -> MinLen y mono -> MinLen (MaxNat x y) mono
- head :: MonoTraversable mono => MinLen (Succ nat) mono -> Element mono
- last :: MonoTraversable mono => MinLen (Succ nat) mono -> Element mono
- tail :: IsSequence seq => MinLen (Succ nat) seq -> MinLen nat seq
- init :: IsSequence seq => MinLen (Succ nat) seq -> MinLen nat seq
- class (Semigroup mono, MonoFoldable mono) => GrowingAppend mono
Type level naturals
toValueNat :: Num i => nat -> iSource
Minimum length newtype wrapper
GrowingAppend mono => Semigroup (MinLen nat mono) |
toMinLenZero :: mono -> MinLen Zero monoSource
class (Semigroup mono, MonoFoldable mono) => GrowingAppend mono Source
GrowingAppend ByteString | |
GrowingAppend ByteString | |
GrowingAppend IntSet | |
GrowingAppend Text | |
GrowingAppend Text | |
GrowingAppend [a] | |
GrowingAppend (Seq a) | |
GrowingAppend (IntMap v) | |
Ord v => GrowingAppend (Set v) | |
GrowingAppend (NonEmpty a) | |
(Eq v, Hashable v) => GrowingAppend (HashSet v) | |
GrowingAppend (Vector a) | |
Unbox a => GrowingAppend (Vector a) | |
Storable a => GrowingAppend (Vector a) | |
Ord k => GrowingAppend (Map k v) | |
(Eq k, Hashable k) => GrowingAppend (HashMap k v) |