Hello,
Yesterday I decided to test Alexandria with a couple of Lisps. The following patches resulted from that session, except MULTIPLE-VALUE-PROG2 whose usefulness is admittedly debatable.
Sun Jul 27 04:01:39 WEST 2008 Luis Oliveira loliveira@common-lisp.net * Mark expected failures for Allegro CL: TYPE=.[234]
Sun Jul 27 04:01:30 WEST 2008 Luis Oliveira loliveira@common-lisp.net * amend COPY-SEQUENCE.1
- can't assume that (upgraded-array-element-type 'fixnum) => fixnum. Fix that.
Sun Jul 27 03:54:27 WEST 2008 Luis Oliveira loliveira@common-lisp.net * tests: mark CLISP failures
- COPY-HASH-TABLE.1 causes a stack overflow due to a CLISP bug. - ALIST-HASH-TABLE.1, PLIST-HASH-TABLE.1 fail because HASH-TABLE-TEST returns EXT:FASTHASH-{EQ,EQL}.
Sun Jul 27 03:46:35 WEST 2008 Luis Oliveira loliveira@common-lisp.net * tests: define and use ERRORP
- TYPEP returns a generalized boolean. On Lisps like ECL, this detail was causing some tests to fail. ERRORP takes this into account.
Sun Jul 27 03:45:07 WEST 2008 Luis Oliveira loliveira@common-lisp.net * Small fix to COPY-HASH-TABLE
- New hash-table was being created with a bogus rehash-size. - Added regression test in another patch.
Sun Jul 27 03:43:21 WEST 2008 Luis Oliveira loliveira@common-lisp.net * Define an alexandria-tests ASDF system.
- make it usable for other Lisps besides SBCL. - TEST-OP runs tests both compiled and evaluated.
Sun Jul 27 03:37:13 WEST 2008 Luis Oliveira loliveira@common-lisp.net * New macro: MULTIPLE-VALUE-PROG2
These patches can be pulled via darcs pull http://common-lisp.net/~loliveira/darcs/alexandria
On Mon, Jul 28, 2008 at 1:14 AM, Luis Oliveira luismbo@gmail.com 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?
Thank you,
-- Nikodemus
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.
alexandria-devel@common-lisp.net