[Haskell-cafe] Let's welcome the Ruby hackers!

Alexis bonobo at bigpond.net.au
Fri Feb 2 00:50:23 EST 2007

On Fri, 2 Feb 2007 06:46 am, Paul Johnson wrote:

> I think we should also try to get some feedback about the learning
> experience: what tutorials work best, and what don't?  Do metaphors for
> monads work?

Fwiw, here's an excerpt from something i wrote in my blog about monads (where 
i've substituted links with references to footnotes):

	"People have tried to communicate what Haskell monads are about in various
	ways: via 'container' metaphors (e.g. this[1] and this[2]; i found the former
	to be more illuminating than the latter); via relationship metaphors (e.g.
	this[3], which i found more confusing than helpful), and even via a
	 'monsters' metaphor[4] (which i found to be rather amusing)1. One tutorial
	that people on the Haskell-café list seem eager to recommend (and that's
	recommended on the Haskellwiki) is All about monads[5], but that just
	overwhelmed me when i first read it; and even now, when i've got a better
	understanding of monads, i still find it difficult to follow. In contrast, i
	found Tackling the awkward squad[6] and Monads for functional programming[7]
	to both be very enlightening.

	As far as i can tell, however, a monad simply seems to be a computational
	environment in which one can specify that certain types and methods of
	computation be performed, and in which the three monad laws are expected to

	[1]	http://www.haskell.org/haskellwiki/Monads_as_containers
	[2]	http://en.wikibooks.org/wiki/Haskell/Understanding_monads
	[3]	http://www.haskell.org/haskellwiki/Meet_Bob_The_Monadic_Lover
	[4]	http://www.haskell.org/pipermail/haskell-cafe/2006-November/019190.html
	[5]	http://www.nomaware.com/monads/html/
	[6]	http://research.microsoft.com/~simonpj/papers/marktoberdorf/
	[7]	http://homepages.inf.ed.ac.uk/wadler/topics/monads.html

To that, i would also add that i've found Martin Grabmueller's "Monad 
Transformers Step by 
Step" ( http://uebb.cs.tu-berlin.de/~magr/pub/Transformers.en.html ) and 
Simon Peyton-Jones' "Beautiful 
Concurrency" ( http://programming.reddit.com/info/vsba/comments ) to be very 
readable and enlightening. Finally, i enjoyed reading Hal Daume III's "Yet 
Another Haskell Tutorial", since unlike many introductions to Haskell, it 
assumed that i was already familiar with a variety of programming concepts.

My background: well, firstly, apropos of the recent discussions about the 
qualifications of those studying / learning Haskell, i have a Bachelor of 
Arts degree majoring in Womens' Studies. :-) i have, however, done 
professional development work using both Perl and VBA (the latter in the 
context of MS Access). The only formal mathematical training i've had is the 
mathematics i did at secondary school, which went up to and included the 
basics of differentiation and integration. Having said that, i have continued 
to teach myself various areas of mathematics (e.g. set theory and point-set 
topology - category theory i'd like to learn more about, but am struggling to 
get around to doing so).

i must say i'm really enjoying learning Haskell: not only because, as a side 
effect :-), i'm ending up learning various bits and pieces about computer 
science; but also because i've come to very much appreciate the Haskell 
community. In contrast with other IT-related communities i've experienced, 
i've found the Haskell community (both here and on IRC) to generally be 
helpful, good-humoured and mercifully lacking in flames and alpha 
behaviours. :-)

i'm really hoping this "Cookbook" project happens - it would be great to be 
able to turn to Haskell for solutions to the sort of problems i come across 
on a regular basis, so that i'm no longer solely thinking in terms of Perl 
solutions to those problems. :-)


More information about the Haskell-Cafe mailing list