<div><span class="gmail_quote">On 8/9/07, <b class="gmail_sendername">peterv</b> &lt;<a href="mailto:bf3@telenet.be">bf3@telenet.be</a>&gt; wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div lang="EN-US" bgcolor="white" vlink="purple" link="blue">
<div>
<p><span style="FONT-SIZE: 11pt; COLOR: #1f497d">IMHO and being a newbie having 20 years of professional C/C++/C# experience but hardly any Haskell experience, I agree with this… I find the monad syntax very confusing, because it looks so much like imperative code, but it isn't. Personally I also liked the Concurrent Clean approach, although this also introduced extra syntax for the compiler, while 'cmd1 &gt;&gt;= \x…' does not. You have to type more, but you see much clearer what is going on. 
</span></p></div></div></blockquote></div>
<div>Yeah, I kind of agree too.&nbsp; The only way I figured out sortof how to use Monads was to write everything out in &gt;&gt;= syntax.&nbsp; It was longer and uglier, but it made more sense.<br>&nbsp;</div>
<div>That said, I sortof see Haskell as&nbsp;a prototype language, whose good points will be added into other languages.&nbsp; Every program needs to have a prototype, and Haskell is that.</div>
<div>&nbsp;</div>
<div>So, whilst I&#39;m tempted to add: an easy language needs to have only a single way of doing anything, so throwing away the &quot;do&quot; syntax makes the language easier by reducing the number of things to learn, actually for a prototype language, the rule is probably &quot;anything goes&quot;, and then the best ideas get added to the non-prototype language later on.
</div>
<div>&nbsp;</div>