package preface
Module Preface_stdlib.StreamSource
Implementation for Stream.t.
A Stream.t is an infinite lazy list.
Type
Implementation
Functor
module Functor : Preface_specs.FUNCTOR with type 'a t = 'a tApplicative
module Applicative : Preface_specs.APPLICATIVE with type 'a t = 'a tMonad
module Monad : Preface_specs.MONAD with type 'a t = 'a tComonad
module Comonad : Preface_specs.COMONAD with type 'a t = 'a tAddtional functions
Additional functions to facilitate practical work with Stream.t.
Get the head of the stream. Since Stream.t are infinites, hd can not fail (without values). For each stream, we have an head.
Get the tail of the stream. Like hd, since Stream.t are infinites, the function can not fail. For each stream, we have a tail.
Get the value at given position. at 10 (naturals) gives Ok 9. The function may fail if the position if negative.
drop n stream drop the nth values of the stream. The function may fail if the position if negative.
take n stream returns the firsts n elements of stream as list.
take_while p stream returns all first elements of stream as list satisfying the predicate p. Be careful, the function may diverge if every element of the stream are satisfying the predicate p.
drop_while p stream drop all first elements of stream satisfying the predicate p. Be careful, the function may diverge if every element of the stream are satisfying the predicate p.