Module Preface_stdlib.Seq

Implementation for Seq.t.

Type

type 'a t = 'a Stdlib.Seq.t

Implementation

Functor

module Functor : Preface_specs.FUNCTOR with type 'a t = 'a t

Applicative

Seq.t implements Preface_specs.APPLICATIVE and introduces an interface to define Preface_specs.TRAVERSABLE using Seq as an iterable structure.

Alternative

module Alternative : Preface_specs.ALTERNATIVE with type 'a t = 'a t

Selective

module Selective : Preface_specs.SELECTIVE with type 'a t = 'a t

Monad

Seq.t implements Preface_specs.MONAD and introduces an interface to define Preface_specs.TRAVERSABLE using Seq as an iterable structure.

Monad Plus

module Monad_plus : Preface_specs.MONAD_PLUS with type 'a t = 'a t

Foldable

module Foldable : Preface_specs.FOLDABLE with type 'a t = 'a t

Invariant

module Invariant : Preface_specs.INVARIANT with type 'a t = 'a t

Additional functions

Additional functions to facilitate practical work with Seq.t.

val pure : 'a -> 'a t

Create a value from 'a to 'a t.

val cons : 'a -> 'a t -> 'a t

cons x xs is the sequence containing the element x followed by the sequence xs.

val rev : 'a t -> 'a t

Reverse a Seq.t (the function may not terminate if the sequence is infinite).

val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool

Equality between Seq.t. (The function may not terminate if the two sequence are infinite (and identical)).

val pp : (Stdlib.Format.formatter -> 'a -> unit) -> Stdlib.Format.formatter -> 'a t -> unit

Formatter for pretty-printing for Seq.t. (The function may not terminate if the seq is infinite).