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


    Date: Tue, 3 Jan 89 16:12:45 MST
    From: sandra%defun@cs.utah.edu (Sandra J Loosemore)

    > Date: Tue, 3 Jan 89 17:56 EST
    > From: Barry Margolin <barmar@Think.COM>
    > Should a (declare (inline frob)) at the beginning of the FLET body
    > request that FROB be open-coded within the body?

    My interpretation of the cl-cleanup issue DECLARATION-SCOPE is that an
    INLINE declaration for a function defined with FLET or LABELS does
    apply to that local function, and the declaration has exactly the same
    scope as the function.  Presumably one could use LOCALLY to declare it
    NOTINLINE if one wanted to avoid having it coded inline in some parts
    of the body.

I agree that it applies to that binding, but is that enough?  In the
case of a global function, doing the PROCLAIM after the DEFUN would also
apply to that binding, but it doesn't have the desired effect because of
temporal issues.

In particular, putting an inline declaration of a local function at the
beginning of the FLET body doesn't have any effect in the Symbolics
implementation, which normally implements inline functions.  It does
work in Lucid, though.