
On Mon, Jul 16, 2012 at 06:10:25AM +0100, Edward Kmett wrote:
There is a slightly more principled notion that offers up this operation, paired with an fmap-like operation on the second argument that is satisfied by all arrows -- a profunctor.
http://en.wikipedia.org/wiki/Profunctor http://ncatlab.org/nlab/show/profunctor
which you can find implemented here:
http://hackage.haskell.org/packages/archive/profunctors/3.0/doc/html/ Data-Profunctor.html [..] If we are going to introduce another superclass, I would much rather introduce that one, as it has a better theoretical motivation and the additional laws regarding dinatural transformations and the extra structure that follows.
My problem is that the application I have in mind (bare arrow notation) only needs contravariance, so requiring covariance of the other argument seems unnecessarily restrictive.