Arrows that are also Functors

Ross Paterson ross at soi.city.ac.uk
Tue Apr 26 18:27:03 CEST 2011


On Tue, Apr 19, 2011 at 11:22:12PM -0400, Tyson Whitehead wrote:
> On April 19, 2011 12:22:39 Maciej Marcin Piechotka wrote:
> > I believe reading in some paper/monad reader article that Arrow is
> > equivalent to Category that is Functor.
> 
> I think that is actually an Applicative Category (just a bit more power)
> valid for all source types.  The first I was exposed to this idea was
> Patai's blog.  If you know of another source, I would like to know
> as I've been working to ensure the laws follow from the parametricity
> and write up a little summary.

I don't think the following laws follow:

        id &&& id = arr (\x -> (x,x))
        liftA2 const f id = f
        arr f >>> (g &&& h) = (arr f >>> g) &&& (arr f >>> h)
        first f >>> first g = first (f >>> g)



More information about the Libraries mailing list