#ifdef considered harmful (was: DData)

Alastair Reid alastair at reid-consulting-uk.ltd.uk
Tue Apr 20 11:32:50 EDT 2004

> Fundamentally, the idea here is to give a library implementor another
> tool to say what they mean.  They can be assured of reasonable-looking
> code that's still tuned to run like the blazes---with the confidence
> of a types backing them up.

Note that for Hugs and NHC, running like the blazes isn't so important but not 
leaking space like the blazes is.  The HughesPJ pretty printer used to 
absolutely depend on the strictness of Int# to avoid space leaks.  Adding in 
code to force all the Ints was tedious and I sometimes suspect there are one 
or two still missing.

Alastair Reid

More information about the Libraries mailing list