impractical language, only useful for research. Erik Meijer at one point
states that programming in Haskell is too hard and compares it to assembly
programming!

He brings up a very good point.  Using a monad lets you deal with
side effects but also forces the programmer to specify an exact
ordering.  This *is* a bit like making me write assembly language
programming.  I have to write:

  > do {
  >    x <- getSomeNum
  >    y <- anotherWayToGetANum
  >    return (x + y)
  > }

even if the computation of x and y are completely independant of
each other.  Yes, I can use liftM2 to hide the extra work (or
fmap) but I had to artificially impose an order on the computation.
I, the programmer, had to pick an order.

Ok, maybe "assembly language" is a bit extreme (I get naming, allocation
and garbage collection!) but it is primitive and overspecifies the
problem.

Tim Newsham
http://www.thenewsh.com/~newsham/
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to