<div><span class="gmail_quote">On 8/9/07, <b class="gmail_sendername">peterv</b> <<a href="mailto:email@example.com">firstname.lastname@example.org</a>> 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">
<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 >>= \x…' does not. You have to type more, but you see much clearer what is going on.
<div>Yeah, I kind of agree too. The only way I figured out sortof how to use Monads was to write everything out in >>= syntax. It was longer and uglier, but it made more sense.<br> </div>
<div>That said, I sortof see Haskell as a prototype language, whose good points will be added into other languages. Every program needs to have a prototype, and Haskell is that.</div>
<div>So, whilst I'm tempted to add: an easy language needs to have only a single way of doing anything, so throwing away the "do" syntax makes the language easier by reducing the number of things to learn, actually for a prototype language, the rule is probably "anything goes", and then the best ideas get added to the non-prototype language later on.