[Openmcl-devel] AnsiCL of ToDo

Christophe Rhodes csr21 at cam.ac.uk
Tue Sep 17 02:09:39 PDT 2002

On the wiki page, you wrote:

>  My guess is that it'll generally be harder to find remaining
>  compliance bugs than it will be to fix them.

And, since this is somewhat like a red rag to a bull, here's an ANSI
compliance bug report :-)

The system (as of 0.13) doesn't understand the ATOM type specifier:

(subtypep 'atom 'cons) -> NIL, NIL ; should be NIL, T
(subtypep 'cons 'atom) -> NIL, NIL ; should be NIL, T
(subtypep 'number 'atom) -> NIL, NIL ; should be T, T
(subtypep 'null 'atom) -> NIL, NIL ; should be T, T

According to the hyperspec (under Function SUBTYPEP):
  subtypep is permitted to return the values false and false only when
  at least one argument involves one of these type specifiers: and, eql,
  the list form of function, member, not, or, satisfies, or values.


  subtypep never returns a second value of nil when both type-1 and
  type-2 involve only the names in Figure 4-2, [...]



PS: Other ANSI bugs from the currently-open SBCL bugs list, some of which came
via Peter van Eynde's ANSI(ish) test suite, include:

* (defgeneric if (x)) should signal a PROGRAM-ERROR, not a SIMPLE-ERROR;
* (symbol-macrolet ((x 'x)) (declare (special x)) ...) should signal
* (read-byte 'foo) should signal a TYPE-ERROR, not a SIMPLE-ERROR
* (typep 'x 'and) should not return T; 'and is not a synonym for AND

I haven't looked at the ones sbcl has fixed, either, though I am currently
going through them to see which are relevant to CMUCL...
Jesus College, Cambridge, CB5 8BL                           +44 1223 510 299
http://www-jcsu.jesus.cam.ac.uk/~csr21/                  (defun pling-dollar 
(str schar arg) (first (last +))) (make-dispatch-macro-character #\! t)
(set-dispatch-macro-character #\! #\$ #'pling-dollar)

Openmcl-devel mailing list
Openmcl-devel at clozure.com

More information about the Openmcl-devel mailing list