A Profunctor can be thought of as a computation that involves taking
a(s) as input and returning b(s). These computations compose with
(linear) functions. Profunctors generalize the function arrow ->.
Hence, think of a value of type x for profunctor arr yarr to be
something like a function from x to y.
Laws:
lmap id = id
lmap (f . g) = lmap f . lmap g
rmap id = id
rmap (f . g) = rmap f . rmap gInstances7Profunctor, …
Functor f => Profunctor (Kleisli f)Defined in linear-base-0.4.0 · Data.Profunctor.LinearFunctor f => Profunctor (CoKleisli f)Defined in linear-base-0.4.0 · Data.Profunctor.Kleisli.LinearFunctor f => Profunctor (Kleisli f)Defined in linear-base-0.4.0 · Data.Profunctor.Kleisli.LinearProfunctor (->)Defined in linear-base-0.4.0 · Data.Profunctor.LinearProfunctor (Exchange a b)Defined in linear-base-0.4.0 · Data.Profunctor.LinearProfunctor (Market a b)Defined in linear-base-0.4.0 · Data.Profunctor.LinearProfunctor (FUN 'One)Defined in linear-base-0.4.0 · Data.Profunctor.Linear