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

* 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
  case.

| 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.