module Applicative:sig..end
Of these, Of_monad is likely the most useful. The others are mostly didactic.
include Applicative_intf
module Make:functor (X:Basic) ->Swith type 'a t := 'a X.t
module Make2:functor (X:Basic2) ->S2with type ('a, 'e) t := ('a, 'e) X.t
module Make_args:functor (X:S) ->Argswith type 'a arg := 'a X.t
module Make_args2:functor (X:S2) ->Args2with type ('a, 'e) arg := ('a, 'e) X.t
Of these, Of_monad is likely the most useful. The others are mostly didactic.
module Of_monad:functor (M:Monad.S) ->Swith type 'a t := 'a M.t
module Compose:functor (F:S) ->functor (G:S) ->Swith type 'a t = 'a F.t G.t
module Pair:functor (F:S) ->functor (G:S) ->Swith type 'a t = 'a F.t * 'a G.t
module Const:functor (Monoid:sigtypetval zero :tval plus :t -> t -> tLaws:plusis associative andzerois both a left and right unit forplus
end) ->Swith type 'a t = Monoid.t