[Haskell-cafe] a regressive view of support for imperative programming in Haskell

Hugh Perkins hughperkins at gmail.com
Wed Aug 8 14:56:34 EDT 2007

On 8/9/07, peterv <bf3 at telenet.be> wrote:
>  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.
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.

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.

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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20070809/760f1e9e/attachment.htm

More information about the Haskell-Cafe mailing list