What is a language construct? (was Re: Comment on state of Project Jigsaw)

Rémi Forax forax at univ-mlv.fr
Wed Dec 21 15:30:49 PST 2011


On 12/22/2011 12:11 AM, Alex Buckley wrote:
> On 12/21/2011 2:39 PM, Rémi Forax wrote:
>> Java is a programming languages with several sources files
>> and jigsaw introduces a rule to find the module declaration
>> from a source file. This rule used a convention instead of a
>> declaration i.e. you don't have to edit all class files
>> to declare that they are part of a module but you have to use
>> a precise source layout.
>>
>> If this layout is defined in the language spec so I don't see the 
>> problem.
>
> As Mark said, a module declaration is just another kind of declaration 
> within a compilation unit. The JLS has never made normative statements 
> about the physical form or layout of compilation units. (Nor, for that 
> matter, has the JVM Spec with regard to class files).
>
> A compiler for the Java language is free to make up rules for the 
> placement on a file system of files that represent compilation units. 
> The file system placement of a compilation unit containing a module 
> declaration should no more be specified in the JLS than the placement 
> of a compilation unit containing a type declaration.
>
> I am still curious to know how Neal would integrate statements or 
> declarations into the Java language that determine the visibility of 
> types ("observability", in JLS terms) for code within the scope of the 
> statements or declarations.
>
> Alex

section 7.2.1 of the JLS3 defines the package layout, while it's 
presented as an example, it's in the JLS :)
and Java had the chance that Visual Age was written before.

Rémi




More information about the jigsaw-dev mailing list