[Haskell-beginners] Type classes and synonyms

Brent Yorgey byorgey at seas.upenn.edu
Sun Nov 22 10:30:20 EST 2009


On Sat, Nov 21, 2009 at 09:07:38PM +0000, Philip Scott wrote:
> > The final piece is that (->) is an Arrow, the most basic one but still
> > an Arrow, so if you replace a by (->) in the type of second, you get :
> > second :: (->) b c -> (->) (d, b) (d, c)
> > which is just
> > second :: (b -> c) -> (d, b) -> (d, c)
> 
> Ahh I see, very clever! There is method to the madness after all; I should 
> never have doubted you Haskell. Thank you for taking the time to explain that 
> :)
> 
> Do you know of any good discussions/tutorials on Arrows? I've only managed to 
> find little snippets here and there
> 
> http://www.haskell.org/arrows/

The two tutorials linked from the "Bibliogrphy" section of that page
are very good:

  http://www.soi.city.ac.uk/~ross/papers/fop.html

  http://www.cs.chalmers.se/~rjmh/afp-arrows.pdf

You may also be interested in reading the "Category" and "Arrow"
sections of the Typeclassopedia:

  http://www.haskell.org/sitewiki/images/8/85/TMR-Issue13.pdf

-Brent


More information about the Beginners mailing list