package higher_kinded

  1. Overview
  2. Docs

Parameters

module M : Base.Monad.S3
module X : S3 with type ('a, 'b, 'c) t := ('a, 'b, 'c) M.t

Signature

val inject : ('a, 'y, 'z) M.t -> ('a -> 'y -> 'z -> X.higher_kinded) t
val project : ('a -> 'y -> 'z -> X.higher_kinded) t -> ('a, 'y, 'z) M.t
val (>>=) : ('a -> 'd -> 'e -> X.higher_kinded) t -> ('a0 -> ('b -> 'd0 -> 'e0 -> X.higher_kinded) t) -> ('b0 -> 'd1 -> 'e1 -> X.higher_kinded) t
val (>>|) : ('a -> 'd -> 'e -> X.higher_kinded) t -> ('a0 -> 'b) -> ('b0 -> 'd0 -> 'e0 -> X.higher_kinded) t
module Let_syntax : sig ... end
module Monad_infix : sig ... end
val bind : ('a -> 'd -> 'e -> X.higher_kinded) t -> f:('a0 -> ('b -> 'd0 -> 'e0 -> X.higher_kinded) t) -> ('b0 -> 'd1 -> 'e1 -> X.higher_kinded) t
val return : 'a -> ('a0 -> 'b -> 'c -> X.higher_kinded) t
val map : ('a -> 'd -> 'e -> X.higher_kinded) t -> f:('a0 -> 'b) -> ('b0 -> 'd0 -> 'e0 -> X.higher_kinded) t
val join : (('a -> 'd -> 'e -> X.higher_kinded) t -> 'd0 -> 'e0 -> X.higher_kinded) t -> ('a0 -> 'd1 -> 'e1 -> X.higher_kinded) t
val ignore_m : ('a -> 'd -> 'e -> X.higher_kinded) t -> (unit -> 'd0 -> 'e0 -> X.higher_kinded) t
val all : ('a -> 'd -> 'e -> X.higher_kinded) t list -> ('a0 list -> 'd0 -> 'e0 -> X.higher_kinded) t
val all_unit : (unit -> 'd -> 'e -> X.higher_kinded) t list -> (unit -> 'd0 -> 'e0 -> X.higher_kinded) t