Subject: Re: Wondering if you guys would like to comment on this
From: (Rob Warnock)
Date: Fri, 06 May 2005 05:31:46 -0500
Newsgroups: comp.lang.lisp
Message-ID: <>
Kenny Tilton  <> wrote:
| William Bland wrote:
| > Variables are awful too.  I keep seeing references to variables
| > and having to find their definitions and read the comments to find
| > out what they do.  I think I'm going to ban them as well.
| Good for you, though, on pointing out the hazards of variables.
| I missed  that one. From now on it's all literals all the time for me.

Actually, I think Bill Wulf first pointed out that one, in a classic
little CACM(?) article, "Global Variable Considered Harmful" [published
after and in the style o fDijkstra's "GOTO Considered Harmful", yes],
in which he pointed out that no matter how "structured" your code was,
a single global variable and a single loop with a single CASE statement
could implement an arbitrary spaghetti nest of GOTOs. That is, there's a
direct and simple mapping between an arbitrarily-complex TAGBODY and this:

	(let ((state 'start))
	    (case state
	      ...{lots of cases that (SETF state {something})}...)))


Rob Warnock			<>
627 26th Avenue			<URL:>
San Mateo, CA 94403		(650)572-2607