0.7.12.39:
authorChristophe Rhodes <csr21@cam.ac.uk>
Mon, 17 Feb 2003 15:22:49 +0000 (15:22 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Mon, 17 Feb 2003 15:22:49 +0000 (15:22 +0000)
commit58ff25d134554f86b15d1978ae21861ccbe70f3d
tree4c58602948e1d207991220a5d92c8a4ab462a5e3
parent2217cdb364e8b48c187b085895bb2a5cbdbd9622
0.7.12.39:
Refactor some of the type system:
... new TYPE-CLASS: NEGATION, for representation of (NOT FOO)
... in TYPEP/CTYPEP/SOURCE-TRANSFORM-TYPEP, too
Also add a few smarts to the existing type system
... give up slightly less often in INTERSECTION-COMPLEX-UNION2
and UNION-COMPLEX-INTERSECTION2
... now that we have a distinct NEGATION class, it's possible to
write sensible UNION and INTERSECTION methods for those,
too
Fixes:  (SUBTYPEP T (OR REAL (NOT REAL))),
(SUBTYPEP T (OR KEYWORD (NOT KEYWORD)))
package-data-list.lisp-expr
src/code/early-type.lisp
src/code/late-type.lisp
src/code/target-type.lisp
src/code/typep.lisp
src/compiler/typetran.lisp
tests/type.pure.lisp
version.lisp-expr