Base.Applicative
module type Applicative_infix = sig ... end
module type Applicative_infix2 = sig ... end
module type Applicative_infix3 = sig ... end
module type Applicative_infix_local = sig ... end
module type Applicative_infix2_local = sig ... end
module type Basic = sig ... end
module type Basic2 = sig ... end
module type Basic3 = sig ... end
module type Basic_local = sig ... end
module type Basic2_local = sig ... end
module type Basic_using_map2 = sig ... end
module type Basic2_using_map2 = sig ... end
module type Basic3_using_map2 = sig ... end
module type Basic_using_map2_local = sig ... end
module type Basic2_using_map2_local = sig ... end
module type Basic3_using_map2_local = sig ... end
module type Let_syntax = sig ... end
module type Let_syntax2 = sig ... end
module type Let_syntax3 = sig ... end
module type S = sig ... end
module type S2 = sig ... end
module type S3 = sig ... end
module type Lazy_applicative = sig ... end
module type S_local = sig ... end
module type S2_local = sig ... end
module Make_let_syntax
(X : sig ... end)
(Intf : sig ... end)
(Impl : Intf.S) :
Let_syntax with type 'a t := 'a X.t with module Open_on_rhs_intf := Intf
module Make_let_syntax2
(X : sig ... end)
(Intf : sig ... end)
(Impl : Intf.S) :
Let_syntax2
with type ('a, 'e) t := ('a, 'e) X.t
with module Open_on_rhs_intf := Intf
module Make_let_syntax3
(X : sig ... end)
(Intf : sig ... end)
(Impl : Intf.S) :
Let_syntax3
with type ('a, 'd, 'e) t := ('a, 'd, 'e) X.t
with module Open_on_rhs_intf := Intf
module Make_using_map2 (X : Basic_using_map2) : S with type 'a t := 'a X.t
module Make2_using_map2
(X : Basic2_using_map2) :
S2 with type ('a, 'e) t := ('a, 'e) X.t
module Make3_using_map2
(X : Basic3_using_map2) :
S3 with type ('a, 'd, 'e) t := ('a, 'd, 'e) X.t
module Make_using_map2_local
(X : Basic_using_map2_local) :
S_local with type 'a t := 'a X.t
module Make2_using_map2_local
(X : Basic2_using_map2_local) :
S2_local with type ('a, 'e) t := ('a, 'e) X.t
module Make3_using_map2_local (X : Basic3_using_map2_local) : sig ... end
The following functors give a sense of what Applicatives one can define.
Of these, Of_monad
is likely the most useful. The others are mostly didactic.