[Haskell-cafe] Why purely in haskell?

Anton van Straaten anton at appsolutions.com
Wed Jan 9 16:18:36 EST 2008

Peter Verswyvelen wrote:
> But I'm amazed that impure (albeit strong) languages like LISP and 
> Scheme are still used for projects... I mean, in Scheme you can "set!" 
> the addition operator to become a multiplication operator at runtime, 
> modifying global behavior... Now that's a side effect, C/C++ is nothing 
> compared to that! So I guess that with such great power comes great 
> responsibility?

Scheme and Lisp typically constrain this feature in various ways, 
ranging from compiler options and declarations to, more recently, 
features of a module system.

For example, in R6RS Scheme, variables and syntax imported via the 
module system cannot be mutated, so the denotation of a name (including 
names like "+") can be statically determined.

OTOH, the freedom to change things on the fly can be nice to have, and 
if used with "great responsibility" (mainly an understanding of what's 
safe to do and what isn't), the downside can be vanishingly small.


More information about the Haskell-Cafe mailing list