[Did this thread jump lists? I thought this was on ghc-users. If so, it's worth mentioning that the context is the suitability of Haskell for writing operating systems.] Richard Uhtenwoldt <greon@best.com> writes:
For a programmer to learn to control memory and cpu use *well* in Haskell is a very big job --bigger than, eg, learning monads (a *big* stumbling block for the industrial programmers than blow through here and the FP newsgroup) or existential types.
It's not just that it's hard to learn. It's that it's really, really easy to change the performance with just a small change. We regard this as a good thing when we can make our program 10 times faster/smaller but it's also true that a small change (perhaps a bug fix a year after the code was written) can make performance 10 times worse. What Haskell lacks is a way for programmers to annotate programs with their expected resource usage and a tool which will verify that the program (or, if different, the output of your favourite optimising compiler) matches that expectation. -- Alastair Reid reid@cs.utah.edu http://www.cs.utah.edu/~reid/