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

Re: issue MACRO-ENVIRONMENT-EXTENT, version 2



    Date: Mon, 13 Mar 89  12:13:13 CST
    From: David N Gray <Gray@DSG.csc.ti.com>

    > How about some wording like:
    > 
    >   The extent of the environment objects passed to MACROEXPAND or
    >   MACROEXPAND-1 by COMPILE-FILE, COMPILE, and EVAL is the dynamic extent
    >   during which the macro and its expansion are processed.  In
    >   particular, the extent includes the expansion of any other macro calls
    >   appearing lexically within the form returned from MACROEXPAND or
    >   MACROEXPAND-1.

    That would be fine.

It wouldn't be fine with me.  I would much prefer that we use the same
definition of dynamic extent here that we use everywhere else, namely
the extent ends when the macroexpander function returns.  That way we
don't have to spend the next year figuring out precisely what the
term "processed" means.  I have already thought of two problems with it.

    > I think this would fit in with issue SYNTACTIC-ENVIRONMENT-ACCESS, but
    > I'm still confused about why you would still need COPY-ENVIRONMENT.

    COPY-ENVIRONMENT would only be needed if there are implementations using
    stack list environments that disappear as soon as the macro expander
    returns.  Kent, does Symbolics need this?

I don't think Symbolics needs or wants COPY-ENVIRONMENT.  However, Symbolics
Genera does use macro expansion environments with dynamic extent.  I believe
Symbolics Cloe does also, although I haven't checked.