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

Michael Vanier mvanier at cs.caltech.edu
Wed Aug 8 20:59:41 EDT 2007


I can't agree with your point about Haskell being (just) a prototype language (assuming that's what 
you meant).  If that's the case, it won't last very long.  Languages need to be something you can 
write real, practical applications in.  Fortunately, Haskell isn't just a prototype language.  I'm 
running a Haskell program (xmonad) every minute I'm working on my computer, and it's better than the 
C program (ion) that it replaced (with a code base about 1/40th the size).  I'm sure Haskell isn't 
suitable for all application domains yet, but there's plenty of domains in which it can make its 
mark, and the frontier is going to keep getting pushed back.

Mike

Hugh Perkins wrote:
> On 8/9/07, *peterv* <bf3 at telenet.be <mailto: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.
>  
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe


More information about the Haskell-Cafe mailing list