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.