Preface_make.Clown
Clown
can produces Bifunctor
or Profunctor
using a Functor
(or a Contravariant
) on the first argument of the Bi/Profunctor
as described in Clowns to the Left, Jokers to the Right (Functional Pearl)
Produces a Preface_specs.BIFUNCTOR
using a Preface_specs.FUNCTOR
as first argument.
module To_bifunctor
(F : Preface_specs.Functor.CORE) :
Preface_specs.BIFUNCTOR with type ('a, 'b) t = 'a F.t
Produces a Preface_specs.PROFUNCTOR
using a Preface_specs.CONTRAVARIANT
as first argument.
module To_profunctor
(F : Preface_specs.Contravariant.CORE) :
Preface_specs.PROFUNCTOR with type ('a, 'b) t = 'a F.t