[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

New version of PCL

There is a new version of PCL on parcvax.xerox.com.  To the best of my
knowledge, this version runs in:

Xerox Common Lisp (Lyric beta release)
Symbolics 7.0
Vaxlisp 2.0
KCL (September 16, 1986)

I have not been able to test it in any other Common Lisps yet.

Changes in this version include:

- introduction of defmethod-setf as the right way to define setf
where you used to say:

(defmeth (speed (:setf (nv))) ((p plane))
  .. code to set plane's speed ..)

You should now say:

(defmethod-setf speed ((p plane)) (nv)
  .. code to set plane's speed ..)

- Slot access optimization has been turned back on inside of with-slots

- defmethod and defmethod setf (and defmeth) no longer support macros
which expand into declarations at the beginning of their bodies.  Use of
a macro here may cause that declaration to be put somewhere it doesn't

People should use this release to convert their code to use defmethod,
defmethod-setf, defclass and with-slots.  The old versions of these
(defmeth ndefstruct with and with*) are becoming less and less

The next release will be different in a number of ways.

Most importantly, discriminator objects are being replaced by
generic-function objects.  People which have code that hacks around with
method and discriminator objects will probably have to edit it.

Some parts of the meta-object protocol will be changed.

Method lookup should be faster, although much of this may not happen
until the following release.

PCL will no longer be able to run without any implementation dependent