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

David Roundy droundy at darcs.net
Tue Sep 11 10:14:20 EDT 2007


On Tue, Sep 11, 2007 at 01:59:40PM +0200, Peter Verswyvelen wrote:
> > That's a really weird statement, and one that goes completely opposite
> > to my view of things. Do you have sources for these rumours? In a pure
> > language, if you evaluate some code it will do exactly the same thing
> > every time - there is no different behaviour. If you test the code,
> 
> Sorry, I did not express myself correctly I guess. I did not mean different
> behavior regarding the results that are computed (because that's the great
> thing about Haskell; this is called "referentially transparent" isn't it?),
> but I meant different time/space behavior. I'm not sure where I read this
> "rumor", but if I recall correctly, it had to do with FRP (functional
> reactive programming), where it was stated that is was really difficult to
> make sure that no space/time leaks occurred when the user started combining
> functions in some way. But I might have understood it incorrectly; after
> all, I'm still in the learning process.

Yeah, that makes sense.  Space leaks are tricky, and unit testing can only
verify that under particular usage scenarios they don't occur, but in
another case they might pop up.  Generally, strict data types can help a
lot in preventing space leaks, but can't always solve the problems.  I long
for a Data.Map.Strict, for instance, because it's so hard to use Data.Map
without producing memory leaks...
-- 
David Roundy
Department of Physics
Oregon State University


More information about the Haskell-Cafe mailing list