Commit [b2f020] Maximize Restore History

1.0.3.5: slightly different SEQUENCE type handling.

The UNION TYPE= issue affects type derivation as in
(defun foo (x)
(declare (type (simple-array character) x))
(subseq x 1 2))
where the system fails to derive that the intersection of
consed-sequence and (simple-array character) is distinct from
consed-sequence. Change SEQUENCE to be an explicit union of
LIST, VECTOR and an EXTENDED-SEQUENCE named type, defining
appropriate type methods, and the symptom (but not the cause)
goes away.

(Note: it may well be that the EXTENDED-SEQUENCE named type
disappears again, to be replaced by an actual protocol class
similar to FUNDAMENTAL-STREAM for Gray streams, for reasons of
future extensibility and ease of compatibility with other Lisps.
Waiting for ILC feedback...)

Christophe Rhodes Christophe Rhodes 2007-02-28

changed src/code/class.lisp
changed src/code/deftypes-for-target.lisp
changed src/code/early-type.lisp
changed src/code/late-type.lisp
changed src/code/pred.lisp
changed src/code/primordial-type.lisp
changed src/code/typep.lisp
changed src/compiler/generic/primtype.lisp
changed src/compiler/generic/vm-fndb.lisp
changed src/compiler/typetran.lisp
changed BUGS
changed package-data-list.lisp-expr
changed version.lisp-expr
src/code/class.lisp Diff Switch to side-by-side view
Loading...
src/code/deftypes-for-target.lisp Diff Switch to side-by-side view
Loading...
src/code/early-type.lisp Diff Switch to side-by-side view
Loading...
src/code/late-type.lisp Diff Switch to side-by-side view
Loading...
src/code/pred.lisp Diff Switch to side-by-side view
Loading...
src/code/primordial-type.lisp Diff Switch to side-by-side view
Loading...
src/code/typep.lisp Diff Switch to side-by-side view
Loading...
src/compiler/generic/primtype.lisp Diff Switch to side-by-side view
Loading...
src/compiler/generic/vm-fndb.lisp Diff Switch to side-by-side view
Loading...
src/compiler/typetran.lisp Diff Switch to side-by-side view
Loading...
BUGS Diff Switch to side-by-side view
Loading...
package-data-list.lisp-expr Diff Switch to side-by-side view
Loading...
version.lisp-expr Diff Switch to side-by-side view
Loading...