Like point free notation, I worry about what somebody somewhere is doing to it.... :)<br><br>The existence of a well understood community standard (add a type signature to your functions and only use monad operators with the laws) helps a lot - but both pieces are optional.&nbsp; I suppose the shorter and more declarative nature of Haskell functions makes it a less urgent point though.&nbsp; 
<br><br><br><div><span class="gmail_quote">On 4/16/07, <b class="gmail_sendername">Donald Bruce Stewart</b> &lt;<a href="mailto:dons@cse.unsw.edu.au">dons@cse.unsw.edu.au</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
clifford.beshers:<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;Donald Bruce Stewart wrote:<br>&gt;<br>&gt; david:<br>&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;Ah... so the secret is in the hidden variables.&nbsp;&nbsp;On some<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;level I am beginning to fear that Monads resurrect some of
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;the scariest aspects of method overriding from my OO<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;programming days.&nbsp;&nbsp;Do you (all) ever find that the ever<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;changing nature of &gt;&gt;= makes code hard to read?<br>&gt;<br>&gt;<br>&gt; You always know which monad you&#39;re in though, since its in the type.
<br>&gt; And the scary monads aren&#39;t terribly common anyway.<br>&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;Also, the monad laws impose a level of sanity that most OO<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;frameworks do not, right?<br><br>Ah yes, and we have the 3 laws of monads. If you break these , the monad
<br>police will come and lock you up.<br><br>-- Don<br></blockquote></div><br>