[Haskell-cafe] Process properties as global values

Alastair Reid alastair at reid-hoffmann.net
Sun Jul 4 17:39:55 EDT 2004


> Sorry, but why does [making process properties global values] not
> break the purity? If i call a function, that depends on global 
> parameters twice within different environments it behaves 
> different.

The argument goes that purity is concerned with what happens in a single run 
of the program and any single run sees just one environment.

> This might make some tasks easier, but testing becomes harder. 

That doesn't affect whether it is pure or impure.  In any case, it doesn't 
make testing that much harder.  After all, every program that reads a file 
also produces different behaviour (making testing harder) in different 
environments.

The point of my message wasn't really about purity because, in this case, I 
think purity is a red herring.  It's true that a lot of Haskell's desirable 
properties stem from purity but it's not true that just because something is 
pure, it is a good idea to add it to the language.

--
Alastair Reid


More information about the Haskell-Cafe mailing list