3
These notes correspond to *pcl-system-date* "5/22/87 May 22nd, 1987".
5
The notes from the last release are stored as 4-29-notes.text
11
Symbolics Common Lisp (Genera)
13
Xerox Common Lisp (Lyric Release)
14
Kyoto Common Lisp (5.2)
15
TI Common Lisp (Release 3)
17
TI release 2 should also be working soon, I will announce that when it
21
Note once again, that Xerox Lisp users should FTP all the source files
22
from /pub/pcl/ as well as all the dfasl files from /pub/pcl/xerox/.
23
Included in the xerox specific directory is a file called PCL-ENV, which
24
provides some simple environment support for using PCL in Xerox Lisp.
25
You must load PCL BEFORE loading pcl-env.
28
MAJOR CHANGES IN THIS RELEASE:
31
it is possible to forward reference classes in a defclass (or
32
add-named-class) form. This means it is possible to say:
34
(defclass foo (bar) (i j k))
36
(defclass bar () (x y z))
38
Rather than having to put the in the "right" order.
40
NOTE: the full-on error checking for this is not finished yet.
41
don't try to break it by doing things like:
43
(defclass foo (bar) (i j k))
45
(defclass bar () (x y z))
48
print-instance has been renamed to print-object
51
the defclass and class-definition protocol has changed. some of the
52
effects of this change are:
54
* ADD-NAMED-CLASS is a true functional interface for defclass, so for
57
(defclass foo () (x y z) (:accessor-prefix foo-))
61
(add-named-class (class-prototype (class-named 'class))
65
'((:accessor-prefix foo-)))
67
* defclass (and add-named-class) now undefined accessor methods, reader
68
methods and constructors which 'went away'. For example:
70
(defclass foo () (x y z) (:reader-prefix foo-))
72
defines methods on the generic functions foo-x foo-y and foo-z.
74
but if you then evaluated the defclass form:
76
(defclass foo () (x y z))
78
those reader methods will be removed from the generic functions
79
foo-x foo-y and foo-z.
81
Similarly constructors which 'went away' will be undefined.
84
writer methods generated by the :accessor and :accessor-prefix options
85
now pay attention to the :type slot-option. So,
87
(defclass foo () ((x :accessor foo-x :type symbol)))
89
(defvar *foo-1* (make-instance 'foo))
91
(setf (foo-x *foo-1*) 'bar) ; is OK
93
(setf (foo-x *foo-1*) 10) ; signals an error
96
There are fewer built-in classes. Specifically, only the following
97
Common Lisp types have classes:
99
ARRAY BIT-VECTOR CHARACTER COMPLEX CONS FLOAT INTEGER LIST
100
NULL NUMBER RATIO RATIONAL SEQUENCE STRING SYMBOL T VECTOR
102
* In a future release the subtypes of FLOAT may have classes, that issue
103
is still under discussion.
105
* Some ports of PCL also define classes for:
107
HASH-TABLE PACKAGE PATHNAME RANDOM-STATE READTABLE STREAM
109
it depends on how the type is represented in that Lisp's type system.
113
The with-slots option :use-slot-value is now obsolete. You should use
114
the :use-accessors option as specified in the CLOS spec instead.
116
with-slot forms which did not use the :use-slot-value option are OK,
117
you don't have to touch them.
119
with-slot forms which used :USE-SLOT-VALUE T should be changed to say
122
with-slot forms which used :USE-SLOT-VALUE NIL should be changed to
123
use neither option, or if you insist :USE-ACCESSORS T