Re: Structures comments


As Henry said:  "wow".  Really terrific comments.  Hope you won't object 
to my responding to just one of the smaller ones for now.  The term 
"Export" was chosen because: 

(a) "export" is a natural counterpart to "import", which is itself widely 
used in programming languages such as Java, and which also starts out life 
as a verb.

(b) "export" has been used for more or less the same purpose in describing 
other languages such as Modula-3 
(, Pascal* and 
Mesa (if I recall correctly).  I believe that several of these languages 
used "export" as a declaration, but for now I haven't been able to find 
corroboration online.

I think I was careful to use the word 'export' as a verb, or in quotes 
when referring to the 'export' declaration itself, or in phrases like "the 
export declaration".   Do you see a problem with such usage?  I agree with 
your concern that other parts of the spec have taken unfortunately 
liberties in "nouning" some verbs.

On a related point from:

>> Clause 4.2: It seems strange to have an "export" element which exists
>> (due to the default) primarily to declare what is *not* exported.Also, 
>> scattering individual export declarations through the schemain 
imitation of Java 
>> seems to me a mistake. I prefer the Common Lisp/Ada/C++/etc. style 
where nothing 
>> is exported by default and where all*specific* objects to be exported 
>> declared at the top of the schema.

I agree completely with all of the above.  This was never resolved to my 
satisfaction.  My personal preference would be to export nothing by 
default, as it forces one to be explicit about interdependencies.  I know 
that others would disagree.  In any case, I share your concern with the 
current compromise.  The first question to decide is whether we want 
explicit export control at all:  nothing breaks if we just export 
everything by default.  We've received several requests to keep the spec 
smaller by going that route.  If there's agreement that export should be 
controllable, then we can clean up the details.


Received on Monday, 17 May 1999 19:05:51 UTC