Re: #f and '()

Aubrey Jaffer (jaffer@martigny.ai.mit.edu)
Sun, 18 Aug 96 12:22 EDT

From: wilson@cs.utexas.edu (Paul R. Wilson)
Date: Fri, 9 Aug 1996 12:37:22 -0500
X-Mailer: Mail User's Shell (7.2.5 10/14/92)
Cc: Guile Mailing List <guile@cygnus.com>
Sender: owner-guile@cygnus.com
Precedence: bulk

By the way, this is an example of something that's usually easier with a
compiler than with an interpreter.

I once changed Scheme-48 to accept '() as false, and it was a one-line
change to the code generation routine for IF. Since all conditionals
are implemented in terms of IF by transformation, that did the trick.

With a hand-tweaked interpreter this is likely to be harder, because
ifs are likely to be implicit in other code, which has to be identified
and changed.

Although it might likely be harder, in practice it wasn't. SCM has
had the SICP flag to control (eq? '() '#f) since 1993.