Re: 3 type system problems in 0.13.1
Gary Byers <[email protected]> Sun, 10 Nov 2002 02:35:44 -0700 (MST)
| Newsgroups | gmane.lisp.openmcl.bugs |
|---|---|
| Message-ID | <[email protected]> |
On Sun, 10 Nov 2002, Timothy Moore wrote: > Welcome to OpenMCL Version (Beta: Darwin) 0.13.1! > ? (upgraded-array-element-type 'real) > > Error: value (0 . 0) is not of the expected type INTEGER. > > While executing: ASH > > Type :POP to abort. > Type :? for other options. > 1 > :pop > > ? (make-array 10 :element-type 'real) > > Error: Unknown element-type REAL > > While executing: CCL::MAKE-ARRAY-1 > > Type :POP to abort. > Type :? for other options. > 1 > :pop > The first two seem to be symptoms of the same bug (the function CCL::ELEMENT-TYPE-SUBTYPE should never return NIL) and is hopefully fixed by the enclosed patch. > ? (typep '(1 . 2) '(cons integer integer)) > > Error: Unknown type specifier: (CONS INTEGER INTEGER) > > While executing: CCL::%%TYPEP > > Type :POP to abort. > Type :? for other options. > 1 > Making (CONS cartype cdrtype) be a known type specifier is a bit more work, unfortunately. Just to bring the total number of reported bugs back up to 3 here: UPGRADED-ARRAY-ELEMENT-TYPE should accept (and, in OpenMCL's case, ignore) an optional ENV argument. > > Tim > > > _______________________________________________ > bug-openmcl mailing list > [email protected] > http://clozure.com/cgi-bin/mailman/listinfo/bug-openmcl > >
real-element-type-subtype.diff
(text/plain, 703 B)
Index: level-0/l0-array.lisp
===================================================================
RCS file: /usr/local/publiccvs/ccl/level-0/l0-array.lisp,v
retrieving revision 1.5
diff -u -r1.5 l0-array.lisp
--- level-0/l0-array.lisp 24 Jul 2002 02:03:24 -0000 1.5
+++ level-0/l0-array.lisp 10 Nov 2002 09:27:09 -0000
@@ -533,7 +533,8 @@
(case (numeric-ctype-format ctype)
(double-float arch::subtag-double-float-vector)
(short-float arch::subtag-single-float-vector)
- (t arch::subtag-simple-vector)))))
+ (t arch::subtag-simple-vector)))
+ (t arch::subtag-simple-vector)))
(t arch::subtag-simple-vector))))
(defun %set-simple-array-p (array)