On 01/08/07, Greg Meredith <[EMAIL PROTECTED]> wrote: > Haskellians, > > Though the actual metaphor in the monads-via-loops doesn't seem to fly with > this audience, i like the spirit of the communication and the implicit > challenge: find a pithy slogan that -- for a particular audience, like > imperative programmers -- serves to uncover the essence of the notion. i > can't really address that audience as my first real exposure to programming > was scheme and i moved into concurrency and reflection after that and only > ever used imperative languages as means to an end. That said, i think i > found another metaphor that summarizes the notion for me. In the same way > that the group axioms organize notions of symmetry, including addition, > multiplication, reflections, translations, rotations, ... the monad(ic > axioms) organize(s) notions of snapshot (return) and update (bind), > including state, i/o, control, .... In short > > group : symmetry :: monad : update > > Best wishes, > > --greg
Hello, I just wrote http://www.haskell.org/haskellwiki/Monads_as_computation after starting to reply to this thread and then getting sidetracked into writing a monad tutorial based on the approach I've been taking in the ad-hoc tutorials I've been giving on #haskell lately. :) It might be worth sifting through in order to determine an anthem for monads. Something along the lines of: "monads are just a specific kind of {embedded domain specific language, combinator library}" would work, provided that the person you're talking to knows what one of those is. :) I've found it very effective to explain those in general and then explain what a monad is in terms of them. I'm not certain that the article is completely finished. I'm a bit tired at the moment, and will probably return to polish the treatment some more when I'm more awake, but I think it's finished enough to usefully get the main ideas across. - Cale _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe