controlling resource usage

Alastair David Reid reid@cs.utah.edu
07 Sep 2001 11:45:12 -0600


[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/