Subject: Re: Wondering if you guys would like to comment on this
From: rpw3@rpw3.org (Rob Warnock)
Date: Fri, 06 May 2005 05:31:46 -0500
Newsgroups: comp.lang.lisp
Message-ID: <KKidncgZi8MP2ubfRVn-rQ@speakeasy.net>
Kenny Tilton  <ktilton@nyc.rr.com> 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))
	  (loop
	    (case state
	      ...{lots of cases that (SETF state {something})}...)))


-Rob

-----
Rob Warnock			<rpw3@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607