Kenny <kentilton@gmail.com> wrote:
+---------------
| Kenny wrote:
| http://smuglispweeny.blogspot.com/2008/02/tall-ship-and-star-to-steer-her-by.html
| > ...some wise soul pointed out:
| > "First principles are Good Things. In Lisp, every form returns a value.
| > That first principle works great. This despite Tilton's Law of
| > Programming: All X all the time is the root of all evil."
...
| > Still working on how I can talk myself out of that one.
|
| I got it! Every form returning a value is necessary for us to have the
| functional paradigm /available/ to us, and it is a fine paradigm, we
| just do not want to be enslaved to never changing state.
+---------------
And it is precisely this lack of "enslavement" which motivated
CL to *silently ignore* excess return values and provide NIL
for excess caller requests for them, whereas the Scheme standards
[and most Scheme implementations] blow chunks at any caller/callee
mismatch on number of values.
Liberty vs. safety. No brainer! I pick liberty!
-Rob
-----
Rob Warnock <rpw3@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607