Proposal: refactor Arrow class

Ross Paterson ross at soi.city.ac.uk
Mon Jul 16 15:00:26 CEST 2012


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.



More information about the Libraries mailing list