[Haskell-cafe] Building "production stable" software in Haskell

Don Stewart dons at galois.com
Tue Sep 11 16:08:33 EDT 2007


bf3:
> The way I see it as a newcomer, Haskell shifts the typical imperical 
> programming bugs like null pointers and buffer overruns towards 
> "space/time leaks", causing programs that either take exponentially long 
> to complete, stack overflow, or fill up the swap file on disc because 
> they consume gigabytes of memory. Other bugs I found are incomplete 
> pattern matches at runtime, but I already got an email of how to fix 
> this using an external tool, although it would be nice if this is part 
> of the compiler/linker itself.
> 
> How well and how can a Haskell program be tested to make sure it does 
> not cause these space/time bugs?  What tools are typically used?

Stress testing is good for catching performance bugs. 
And space leaks are rare, and usually glaringly obvious.

Incomplete pattern matches you can avoid with -Wall and Neil's tool 'Catch'.
QuickCheck should also be employed liberally.

-- Don


More information about the Haskell-Cafe mailing list