package seqes

  1. Overview
  2. Docs

Module Make1.MakeSource

Make is a functor to produce further M-like modules, but with parameter functions returning into a different monad. E.g., given module SeqMon = Make(Mon) and module SeqMonMun = SeqMon.Make(Mun) then SeqMonMun.map has type ('a -> 'b Mun.t) -> 'a t -> 'b t.

Note that the functor parameter includes the necessary machinery to bundle the two monads together.

See the documentation of Sigs1.SEQMON1TRANSFORMERS for more details.

Parameters

module Alt : sig ... end
module Glue : sig ... end

Signature

Any monad that we can use to produce transformers, we can also use to produce traversors. Thus, SEQMON1TRANSFORMERS includes SEQMON1TRAVERSORS and all the functors producing transformer also produce traversors.

Sourceval equal : ('a -> 'b -> bool Alt.t) -> 'a t -> 'b t -> bool Mon.t
Sourceval compare : ('a -> 'b -> int Alt.t) -> 'a t -> 'b t -> int Mon.t
Sourceval iter : ('a -> unit Alt.t) -> 'a t -> unit Mon.t
Sourceval fold_left : ('a -> 'b -> 'a Alt.t) -> 'a -> 'b t -> 'a Mon.t
Sourceval iteri : (int -> 'a -> unit Alt.t) -> 'a t -> unit Mon.t
Sourceval fold_lefti : ('b -> int -> 'a -> 'b Alt.t) -> 'b -> 'a t -> 'b Mon.t
Sourceval for_all : ('a -> bool Alt.t) -> 'a t -> bool Mon.t
Sourceval exists : ('a -> bool Alt.t) -> 'a t -> bool Mon.t
Sourceval find : ('a -> bool Alt.t) -> 'a t -> 'a option Mon.t
Sourceval find_map : ('a -> 'b option Alt.t) -> 'a t -> 'b option Mon.t
Sourceval iter2 : ('a -> 'b -> unit Alt.t) -> 'a t -> 'b t -> unit Mon.t
Sourceval fold_left2 : ('a -> 'b -> 'c -> 'a Alt.t) -> 'a -> 'b t -> 'c t -> 'a Mon.t
Sourceval for_all2 : ('a -> 'b -> bool Alt.t) -> 'a t -> 'b t -> bool Mon.t
Sourceval exists2 : ('a -> 'b -> bool Alt.t) -> 'a t -> 'b t -> bool Mon.t
Sourceval init : int -> (int -> 'a Alt.t) -> 'a t
Sourceval unfold : ('b -> ('a * 'b) option Alt.t) -> 'b -> 'a t
Sourceval forever : (unit -> 'a Alt.t) -> 'a t
Sourceval iterate : ('a -> 'a Alt.t) -> 'a -> 'a t
Sourceval map : ('a -> 'b Alt.t) -> 'a t -> 'b t
Sourceval mapi : (int -> 'a -> 'b Alt.t) -> 'a t -> 'b t
Sourceval filter : ('a -> bool Alt.t) -> 'a t -> 'a t
Sourceval filter_map : ('a -> 'b option Alt.t) -> 'a t -> 'b t
Sourceval flat_map : ('a -> 'b t Alt.t) -> 'a t -> 'b t
Sourceval concat_map : ('a -> 'b t Alt.t) -> 'a t -> 'b t
Sourceval scan : ('b -> 'a -> 'b Alt.t) -> 'b -> 'a t -> 'b t
Sourceval sorted_merge : ('a -> 'a -> int Alt.t) -> 'a t -> 'a t -> 'a t
Sourceval take_while : ('a -> bool Alt.t) -> 'a t -> 'a t
Sourceval drop_while : ('a -> bool Alt.t) -> 'a t -> 'a t
Sourceval group : ('a -> 'a -> bool Alt.t) -> 'a t -> 'a t t
Sourceval map2 : ('a -> 'b -> 'c Alt.t) -> 'a t -> 'b t -> 'c t
Sourceval map_product : ('a -> 'b -> 'c Alt.t) -> 'a t -> 'b t -> 'c t
Sourceval partition_map : ('a -> ('b, 'c) Either.t Alt.t) -> 'a t -> 'b t * 'c t
Sourceval partition : ('a -> bool Alt.t) -> 'a t -> 'a t * 'a t
Sourceval of_dispenser : (unit -> 'a option Alt.t) -> 'a t
OCaml

Innovation. Community. Security.