package higher_kinded

  1. Overview
  2. Docs

Parameters

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

Signature

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