Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell98 |
Functions that cope both with plain and non-empty structures.
If there are two versions of a function, where one works on fixed-length lists, then place the fixed-length list variant in NonEmpty and the other one here.
- groupBy :: Foldable f => (a -> a -> Bool) -> f a -> [T [] a]
- segmentAfter :: Foldable f => (a -> Bool) -> f a -> ([T [] a], [a])
- segmentBefore :: Foldable f => (a -> Bool) -> f a -> ([a], [T [] a])
- filterToInfixes :: Foldable f => (a -> Bool) -> f a -> [T [] a]
- mapAdjacent :: (Cons f, Zip f) => (a -> a -> b) -> T f a -> f b
- take :: (View g, Repeat f, Traversable f) => g a -> Maybe (f a)
- splitAt :: (View g, Repeat f, Traversable f) => g a -> (Maybe (f a), g a)
- sliceVertical :: (View g, Repeat f, Traversable f) => g a -> ([f a], g a)
- viewR :: (ViewR f, Empty f, Cons f) => T f a -> (f a, a)
- init :: (ViewR f, Empty f, Cons f) => T f a -> f a
- last :: ViewR f => T f a -> a
- tails :: (ViewL f, Empty f) => f a -> T [] (f a)
- inits :: (ViewL f, Cons f, Empty f) => f a -> T [] (f a)
- appendLeft :: Cons f => [a] -> f a -> f a
- iterate :: (Repeat f, Traversable f) => (a -> a) -> a -> f a
- class Choose f where
- choose :: [a] -> [f a]
Documentation
segmentAfter :: Foldable f => (a -> Bool) -> f a -> ([T [] a], [a]) Source
segmentBefore :: Foldable f => (a -> Bool) -> f a -> ([a], [T [] a]) Source
filterToInfixes :: Foldable f => (a -> Bool) -> f a -> [T [] a] Source
mapAdjacent :: (Cons f, Zip f) => (a -> a -> b) -> T f a -> f b Source
sliceVertical :: (View g, Repeat f, Traversable f) => g a -> ([f a], g a) Source
viewR :: (ViewR f, Empty f, Cons f) => T f a -> (f a, a) Source
This implementation is more efficient for Sequence than viewR
.
appendLeft :: Cons f => [a] -> f a -> f a Source
iterate :: (Repeat f, Traversable f) => (a -> a) -> a -> f a Source