"Lambda Dance", Haskell polemic,...

Manuel M. T. Chakravarty chak@cse.unsw.edu.au
Tue, 03 Apr 2001 18:43:33 +1000


"Wojciech Moczydlowski, Jr" <khaliff@astercity.net> wrote,

> On Tue, 3 Apr 2001, Brian Boutel wrote:
> 
> > they do the job better that the proprietary competition. Why then has
> > Haskell not done as well as sendmail or apache? Perhaps because the
> > battleground is different. To get people to adopt Haskell (or any other
> 
> > brian
> 
> IMO, what's also important, is an infamous memory consumption. Everybody
> seems to ignore it, but by now I wouldn't use Haskell in a commercial product, 
> because of this little inconvenience. For me, it doesn't matter much if a
> language is slow - as far as it's not very slow, it's ok. More important for
> me is the predictability. I have to know how much memory my program will
> eat. And in Haskell, with ghc the only sure answer is:
> "Very much". 

After profiling and removing space leaks?  In what kind of
applications did you encounter this problem?

> The lack of standard arrays, with update in O(1) time, and hashtables is
> another thing. Every time I write a larger program, I use lists - with an
> unpleasant feeling that my favourite language forces me to use either
> nonstandard extensions or uneffective solutions. I think that IO
> arrays/hashtables should be in standard. Because they are in IO - they could
> work efficiently. Yes, I know about MArray/IArray. Yet I couldn't find
> information in sources about complexity of array operations. 
> And they aren't Haskell 98 compliant. 

This is - again - the problem of a lack of standard
libraries.  This is a problem, a very serious one, and it is
being worked on.  More hands => more solutions, faster.

> I'm also curious about what you think about the purpose of Haskell. I
> personally consider it *the* language to write compilers. 
> But what can you do in it besided, that wouldn't be as easy in other languages?

I found Simon Marlow's http server a quite convincing
example of how Haskell can shine in an application that is
very far from the typical applications in which functional
languages excel.  Granted, it is not H98, but that the
latter is lacking some "real world" functionality like
support for concurrency and exceptions is well known and
there are meanwhile convincing proposals for these
features.  (Standardisation is always slower than
invention...)

Cheers,
Manuel