Portability | portable |
---|---|
Stability | provisional |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Safe Haskell | Trustworthy |
Anticausal streams implemented as non-empty skew binary random access lists
The Applicative zips streams, the monad diagonalizes
- data Stream a
- (<|) :: a -> Stream a -> Stream a
- (!!) :: Stream a -> Integer -> a
- head :: Stream a -> a
- tail :: Stream a -> Stream a
- tails :: Stream a -> Stream (Stream a)
- uncons :: Stream a -> (a, Stream a)
- index :: Integer -> Stream a -> a
- drop :: Integer -> Stream a -> Stream a
- dropWhile :: (a -> Bool) -> Stream a -> Stream a
- span :: (a -> Bool) -> Stream a -> ([a], Stream a)
- break :: (a -> Bool) -> Stream a -> ([a], Stream a)
- split :: (a -> Bool) -> Stream a -> ([a], Stream a)
- splitW :: (Stream a -> Bool) -> Stream a -> ([a], Stream a)
- repeat :: a -> Stream a
- insert :: Ord a => a -> Stream a -> Stream a
- insertBy :: (a -> a -> Ordering) -> a -> Stream a -> Stream a
- adjust :: Integer -> (a -> a) -> Stream a -> Stream a
- update :: Integer -> a -> Stream a -> Stream a
- fromList :: [a] -> Stream a
- from :: Num a => a -> Stream a
- indexed :: Stream a -> Stream (Integer, a)
- interleave :: Stream a -> Stream a -> Stream a
- tabulate :: (Integer -> a) -> Stream a