[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.
and
subtypep never returns a second value of nil when both type-1 and
type-2 involve only the names in Figure 4-2, [...]
Cheers,
Christophe
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
a PROGRAM-ERROR;
* (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
http://clozure.com/cgi-bin/mailman/listinfo/openmcl-devel
More information about the Openmcl-devel
mailing list