[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dan Carnese <Carnese@SPAR-20.ARPA>: proposal]
- To: cl-cleanup@sail.stanford.edu
- Subject: [Dan Carnese <Carnese@SPAR-20.ARPA>: proposal]
- From: Masinter.pa@Xerox.COM
- Date: 29 Aug 87 13:36 PDT
- Cc: Carnese@SPAR-20.ARPA
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
proposal?)
----- Begin Forwarded Messages -----
Return-Path:
<@SPAR-20.ARPA,@KATYDID.SPAR.CAS.SLB.COM:Carnese@SPAR-20.ARPA>
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
required
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
forms:
one to give a value to the symbol and another to cause the
symbol
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
be
implemented by macros that would simply expand to an export and
an
existing definition form. Only DEFSTRUCT* would involve actual
programming, to process the additional defstruct and slot
options.
The proposal does not completely eliminate the need for explicit
calls to EXPORT for two reasons. First, it is sometimes useful
to
export symbols for which no definition forms are applicable,
e.g.,
to be used as arguments to functions. Second, explicit exports
of
defined symbols are still needed in the following case. Suppose
A
and B are packages, A defines an external symbol F, and B uses
A.
Suppose further that F appears in a form being read into package
B,
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
avoid
F being inappropriately interned in B.
Does this sound reasonable?
-- Dan
----- End Forwarded Messages -----