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

Issue: DISASSEMBLE-SIDE-EFFECT (version 1)



I mostly approve of the proposal contained in this write-up, though I have
some specific comments that I think should be addressed...

    Date: Mon, 07 Dec 87 18:40:46 EST
    From: Dan L. Pierson <pierson@multimax.ARPA>

    Issue:         DISASSEMBLE-SIDE-EFFECT
    ...
    Test Cases/Examples:

    (DEFUN F (A) (1+ A))
    (DISASSEMBLE 'F)
    (TYPEP (SYMBOL-FUNCTION 'F) 'COMPILED-FUNCTION)

    This code will return NIL if this proposal is adopted.  Some current
    implementations will return T, some will return NIL.
    ...

This isn't quite the right test case. Our Cloe implementation will return
T if this proposal is adopted because it is a compiled-only implementation.
I suggest:

    (DEFUN F (A) (1+ A))
    (EQ (SYMBOL-FUNCTION 'F)
	(PROGN (DISASSEMBLE 'F)
	       (SYMBOL-FUNCTION 'F)))

I believe this will return T for all implementations if this proposal is
adopted and might return either T or NIL right now.

    Current practice:

    Allegro CL, Symbolics, and Vax Lisp install the compiled definition.
    Lucid and KCL don't install it.  [[This is from an informal survey at
    the last meeting; please correct any mistakes.]]

I checked the various Symbolics implementations, and I guess my stated
beliefs in this informal survey were wrong. We don't install it so should
be listed with Lucid and KCL. [Actually, we have three situations. Our
released system signals an error, our development system compiles a dummy
function and does not install the definition, and our Cloe system (a CL
for the 80386) is a compiled-only implementation so this issue is not
meaningful.

    ...
    Aesthetics:

    Those who thought DISASSEMBLE was supposed to install the compiled
    function may find that the language has become a little cleaner.
    ...

I would say "Some who worried..." rather than "Those who thought...".