
15 May
2006
15 May
'06
10:48 a.m.
I've been reading Phil Wadler's monad papers from the early '90s, and it's been interesting to see how the monad concept evolved over the course of those years.
But I haven't been able to track down the first use of the "do" notation for monads. Can anyone tell me where that came from? I'd appreciate paper citations if it was presented initially in a paper.
I believe it was introduced by Mark Jones' "Gofer" system (the predecessor to Hugs), in version 2.30, in the year 1994. To quote the release notes: Gofer 2.30 supports a new, experimental syntax for monad comprehensions which we will refer to as `do {...} notation'. Regards, Malcolm