On Fri, Aug 1, 2008 at 7:06 PM, Nikodemus Siivola nikodemus@random-state.net wrote:
Sun Jul 27 04:01:39 WEST 2008 Luis Oliveira loliveira@common-lisp.net
- Mark expected failures for Allegro CL: TYPE=.[234]
Applied all except this. Are these ACL bugs or thinko's in TYPE= or the tests?
ACL gives me these answers:
(subtypep '(or cons null) 'list) => T, T (subtypep 'list '(or cons null)) => NIL, T
All other Lisps seem to return T for that second form. At first sight, that didn't seem like a wrong answer, since given
(defclass my-list () ()) (defclass my-cons (my-list) ()) (defclass my-null (my-list) ())
then (subtypep 'my-list '(or my-cons my-null)) will return NIL.
Looking a bit further though, the hyperspec says that "[t]he types cons and null form an exhaustive partition of the type list". and the hyperspec's glossary entry for "type equivalent (of two types X and Y)" says: "having the same elements; that is, X is a subtype of Y and Y is a subtype of X."
So I guess it's an ACL bug.