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

Re: Issue ALLOW-LOCAL-INLINE (Version 1)



    Date: Sun, 25 Sep 88 19:29:47 BST
    From: Jeff Dalton <jeff%aiai.edinburgh.ac.uk@NSS.Cs.Ucl.AC.UK>

    I'm surprised that implementations actually require this "advance
    notice" for INLINE declarations.

That's the point of these proposals -- to make things less surprising.
If it makes you feel any better, it came as a surprise to me, too.
But all the compiler guys I know say my surprise surprises them.

    I don't really like this proposal because it makes it more likely
    that INLINE declarations will do nothing unless the proclamation
    is in effect.

C'est la vie. Status quo. As it was presented to me, the amount of storage
that would have to be written to compiler output files, saved at runtime,
etc. just in case someone later did (PROCLAIM '(INLINE ...)) would be
prohibitive. Saying the info was retained only for the remainder of the
file would give files a somewhat arbitrary place in the world of scoping.

    Are there implementations that can't do inlining without the advance
    notice?

Sure: Symbolics Genera, Symbolics Cloe, and VAXLISP. At this point,
I imagine most do others as well.

    ...
    > Personally, I think CL should just flush the INLINE proclamation and
    > support DEFSUBST instead because it would make this incremental
    > development situation easier.

    What about locally in-line functions as in E.B.'s substitute for
    SYMBOL-MACRO-FLET?

Well, I don't have any opposition to INLINE declarations for local
functions. And my remark was unrealistic for other reasons. Asking for
DEFSUBST means asking for DEFGENERICSUBST, DEFMETHODSUBST, FLETSUBST,
LABELSSUBST, etc. and causes a real namespace explosion. I was mostly
just thinking wishfully.