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

MacIvory conversion experience

    Date: Tue, 21 Feb 89 15:32 EST
    From: Michael Greenwald <Greenwald@stony-brook.scrc.symbolics.com>

    A second flaw, too.  What if you redefine the function to have a
    different arglist?  HIDDEN-ADVISE won't be up-to-date, and, in fact,
    might raise an error.  ADVISE (actually all forms of encapsulation) is
    (are) supposed to work across redefinition of the function.

I thought about that, and decided that it isn't really a problem.  If
the argument order changes, a piece of advice that is using CAR, etc.
and hasn't been updated would also be incorrect, so it's no worse than
the current situation.  But it's actually better, because advice that
uses CAR would need to be edited, while something that snarfs the
current arglist would only need to be re-executed.

    A minor third flaw is that it will be fooled by (DECLARE (ARGLIST ...)).
    It should get REAL-ARGLIST.

That's only really important in the cases where DECLARE ARGLIST has been
used to put in "comments" (I think there's a function with an "optional"
first argument, with a (DECLARE (ARGLIST [OPTIONAL] ...))).