On Sun, Feb 17, 2008 at 06:36:41PM -0800, SJS wrote:

http://groups.google.com/group/fa.haskell/msg/b1e0673a38ce3995?

An article by a guy who really wanted to make Haskell work, but he's
having some difficulties, and so he offers up some criticism of Haskell.

I don't get the impression he's really gotten that far with Haskell.

He has hit one difficulty of Haskell right on the head, the notion of
higher-level programming.  When good Haskell programmers write modules to
use, they are generally done with lots of abstraction and meta-programming.
This essentially means that learning how to just use their library involves
learning the new meta-language they've created for its purpose.  The result
is quite elegant once you've learned it.

I find the criticism about a small change requiring a significant rewrite
to really catch my eye; I further find his point about SQL to be really
appropriate.

With Haskell's strong type-checker, refactoring the code is fairly easy to
do.  Unfortunately, the design model behind it tends to lend to that
needing to be done more often than other models.

However, I think it is more a sign of someone writing code who doesn't know
the language very well.  Haskell is a very hard language to learn, and in
most languages you tend to write pretty bad code when you don't know the
language.

I *like* the idea of making some of these new languages embeddable or
trivially callable from existing languages.

The problem is that Haskell's entire execution model is so completely
different this is pretty hard to do.  Given that, it's not that bad at both
calling to C and calling back into Haskell, at least once I learned the
meta-language for doing so :-)

In Haskell, calls to functions don't necessarily do work, and infinite
recursion is often fine.

What's interesting is that he didn't even mention the usual problems people
have with Haskell: space leaks.  It's not always very clear when
computations will run and it can be very easy to build up a large data
structure of potential computations, instead of computing the desired
result.

Dave

--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg

Reply via email to