streams-3.2.1: Various Haskell 2010 stream comonads

Copyright(C) 2011 Edward Kmett,
LicenseBSD-style (see the file LICENSE)
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityprovisional
Portabilityportable
Safe HaskellTrustworthy
LanguageHaskell98

Data.Stream.Infinite.Skew

Description

Anticausal streams implemented as non-empty skew binary random access lists

The Applicative zips streams, the monad diagonalizes

Synopsis

Documentation

(<|) :: a -> Stream a -> Stream a infixr 5

O(1) cons

(!!) :: Stream a -> Integer -> a

O(log n).

head :: Stream a -> a

O(1)

tail :: Stream a -> Stream a

O(1).

uncons :: Stream a -> (a, Stream a)

O(1).

drop :: Integer -> Stream a -> Stream a

O(log n).

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