Module Sequence.TypeClass

module TypeClass: sig .. end

type ('a, 'b) sequenceable = {
   to_seq :'b -> 'a Sequence.t;
   of_seq :'a Sequence.t -> 'b;
}

Classes


type ('a, 'b) addable = {
   empty :'b;
   add :'b -> 'a -> 'b;
}
type 'a monoid = ('a, 'a) addable 
type ('a, 'b) iterable = {
   iter :('a -> unit) -> 'b -> unit;
}

Instances


val sequenceable : ('a, 'a Sequence.t) sequenceable
val iterable : ('a, 'a Sequence.t) iterable
val monoid : 'a Sequence.t monoid

Conversions


val of_iterable : ('a, 'b) iterable -> 'b -> 'a Sequence.t
val to_addable : ('a, 'b) addable -> 'a Sequence.t -> 'b