
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)