<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
I'm also a Haskell no-so-new-anymore-bie, and for me,&nbsp; understanding
monads was a question of first reading the available docs, especially<br>
<br>
<a
 href="http://sigfpe.blogspot.com/2006/08/you-could-have-invented-monads-and.html">http://sigfpe.blogspot.com/2006/08/you-could-have-invented-monads-and.html<br>
</a><br>
and<a href="http://haskell.org/haskellwiki/IO_inside">
http://haskell.org/haskellwiki/IO_inside</a>,<br>
<br>
plus reading the <a href="http://haskell.org/soe/">Haskell School of
Expression</a> book,<br>
<br>
but mainly, creating some of the monad instances myself, step by step
(I started with a random number generator, and ended with the list
monad). I found this very useful, and I actually had to look many times
to the existing solution to get it right. It made me appreciate the
genius minds behind this. After a bit of practice, I can now use monads
almost as easy as I can write imperative C/C++/C# code, although I find
this is also the dangerous part of the do notation: you tend to forget
the beautiful pure functional implementation that is behind the scenes,
and start to think imperatively (again)...<br>
<br>
If you want I can dig up my old source code where I converted a random
number generator from a purely functional approach to a monadic
approach, but I'm not sure reading it would help you, it's creating the
code yourself that will be useful I guess. <br>
<br>
Good luck,<br>
Peter Verswyvelen<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
avid48 wrote:
<blockquote
 cite="mid:4c88418c0710140911m1735fb52nb65ec25c58390308@mail.gmail.com"
 type="cite">
  <pre wrap="">On 10/14/07, <a class="moz-txt-link-abbreviated" href="mailto:jerzy.karczmarczuk@info.unicaen.fr">jerzy.karczmarczuk@info.unicaen.fr</a>
  </pre>
  <blockquote type="cite">
    <pre wrap="">I know that asking helpful humans is nicer than reading docs, but the latter
is usually more instructive, and often more efficient.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
Sorry, but from my newbie point of view, I think the docs are
sometimes poor and lacking. After seeing the docs, I might want to ask
the list some explanation; if I get a reply pointing me back to the
doc, it doesn't help.
_______________________________________________
Haskell-Cafe mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a>
<a class="moz-txt-link-freetext" href="http://www.haskell.org/mailman/listinfo/haskell-cafe">http://www.haskell.org/mailman/listinfo/haskell-cafe</a>


  </pre>
</blockquote>
<br>
</body>
</html>