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

Re: Misc. PCL patches

    Date: Fri, 5 Aug 88 17:20:48 CDT
    From: LaMott Oren <Oren@Home.csc.ti.com>

    I'm working with *pcl-system-date* "7/7/88 (beta) July 7th PCL"
    and made the following patches:

Thanks for these changes.  Even though I am not going to make the
particular changes you sent, they point out some important issues,
and except for the declare macros change, we are working on equivalent

    ;;; Reason: Common-lisp allows macros to define declarations.
    ;;;         Patch PCL to allow this also.

A cleanup committe proposal modifies Common Lisp not to allow this.  PCL
doesn't allow this by concious design decision.  It used to allow it and
doesn't now.  So, I am not going to put this patch in.

    ;;; Reason: Explorer DEFSTRUCT has a bug where an inefficient predicate
    ;;;         gets generated the first time its compiled.  Redefine
    ;;;         IWMC-CLASS-P with an efficient definition. (This makes some
    ;;;	    PCL applications run TWICE as fast)

    ;; In the TI-LOW  file
    (proclaim '(inline IWMC-CLASS-P))
    (defun IWMC-CLASS-P (thing) (typep thing 'iwmc-class))

An equivalent version of this change was contributed by Reed Hastings at
Stanford.  I will include this in the next release along with some other
Explorer changes which are sitting on a Macintosh disk in my office.

    ;;; Reason: Optimize initialize-instance for the common case
    ;;;         where there are less than two slot-initargs.

The next release of PCL will include an implementation of the real
initialization protocol specified by 88-002R.  It will also include a
mechanism for defining functions which are equivalent to calls to
make-instance.  These functions will be highly optimized, and this
should speed up instance creation dramatically.