Subject: Re: Small read macro issue
From: Erik Naggum <>
Date: 08 Oct 2002 02:11:59 +0000
Newsgroups: comp.lang.lisp
Message-ID: <>

* Adam Warner
| Only zero or one return value is defined. Any extra return values are
| undefined (not illegal because "may" has been used instead of "shall" or
| "may only").

  Extra values are always ignored in the rest of the language.  It seems
  odd to say the least not to ignore additional values in this particular

| As a matter of general principle should undefined behaviour never signal
| an error (only a warning)?

  What use could there possibly be in reporting an error for too many
  values when the entire rest of the language quietly ignore them?

| In this respect CLISP is forcing explicit compliance with defined ANSI
| operations.

  No, it is not.  There is no specification of an error if there are more
  than one value.  CLISP has invented that part on its own.  CLISP does a
  lot of that, actually, which is why I generally discommend it just like I
  discommend GCL.  CLISP also teaches totally warped performance issues by
  virtue of dramatically different performance for system and user code.

Erik Naggum, Oslo, Norway

Act from reason, and failure makes you rethink and study harder.
Act from faith, and failure makes you blame someone and push harder.