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

[Dan Carnese <Carnese@SPAR-20.ARPA>: proposal]

I've given the name "EXPORT-COORDINATION" to this issue. I think this is
an interesting proposal. Comments? (Before Dan writes up a more formal

     ----- Begin Forwarded Messages -----

Received: from SPAR-20.ARPA by Xerox.COM ; 25 AUG 87 13:01:17 PDT
Received: from KATYDID.SPAR.CAS.SLB.COM (KATYDID.#Internet) by
SPAR-20.ARPA with TCP; Tue 25 Aug 87 12:59:13-PDT
Date: Tue, 25 Aug 87 12:59 PDT
 From: Dan Carnese <Carnese@SPAR-20.ARPA>
Subject: proposal
To: masinter.pa
Message-ID: <870825125906.2.CARNESE@KATYDID.SPAR.CAS.SLB.COM>

Thanks for the information.  I didn't realize that proposals were
to be in such a detailed format but of course that makes sense.

I think the problem can be "symbolized" as
multiple-forms-for-exported-defined-symbols.  Its definition could be:

        Exporting a defined symbol currently requires two seperate
        one to give a value to the symbol and another to cause the
        to be on a package export list.  These two forms must be kept in
        sync as the program evolves.

The benefit would be:

        Explicit export lists could be eliminated in many cases.

The thrust of the discussion would be:

        This is an extremely straightforward addition, one which could
        implemented by macros that would simply expand to an export and
        existing definition form.  Only DEFSTRUCT* would involve actual
        programming, to process the additional defstruct and slot

        The proposal does not completely eliminate the need for explicit
        calls to EXPORT for two reasons.   First, it is sometimes useful
        export symbols for which no definition forms are applicable,
        to be used as arguments to functions.  Second, explicit exports
        defined symbols are still needed in the following case.  Suppose
        and B are packages, A defines an external symbol F, and B uses
        Suppose further that F appears in a form being read into package
        and that this form is to be read before the definition of F is
        loaded.  In this case, an explicit export of F must occur, to
        F being inappropriately interned in B.

Does this sound reasonable?

-- Dan

     ----- End Forwarded Messages -----