[jsr294-modularity-eg] Pain

Peter Kriens peter.kriens at aqute.biz
Tue Jul 28 05:01:04 EDT 2009


> ... that's a very specific, easy-to-reason-about extension point in  
> the language's accessibility model.
There is nothing to reason about because the module membership is  
opaque ... I guess at a certain level this is "easy". :-)

Kind regards,

	peter Kriens


On 25 jul 2009, at 01:40, Alex Buckley wrote:

> Richard S. Hall wrote:
>> It seems somewhat defeatist to just resign ourselves to the fact  
>> that we need a design-by-committee, meta-ish approach. I agree with  
>> Peter's overall goal of trying to be more concrete. The trick is  
>> keeping it small, while leaving room for module systems to do their  
>> own thing.
>
> I agree they should do their own thing w.r.t. visibility; for  
> accessibility, the language's model must be kept as simple as  
> possible.
>
>> From what I understand about Peter's proposal, he suggests agreeing  
>> upon:
>>    * Defining packages to be either public, module, or private.
>>    * Defining dependencies to be either "normal" or "implementation"
>>      (where module-level dependencies are mapped down to package
>>      dependencies)
>>          o "normal" sees only public types in public packages.
>>          o "implementation" sees public and module types in public or
>>            module packages.
>> I think this sounds reasonable.
>
> As a model of accessibility - forgetting about nesting and  
> containers - it's rather complicated to embed in the language. Every  
> combination of package-wide accessibility + dependency type + type  
> accessibility has to be understood. Add back nesting and a module  
> system's constraints on visibility, and it's a den of complexity.
>
>> The "hook" for module systems is when the container is created, the  
>> various module systems can map the above constructs into their own  
>> approach, which can have their own ugly semantics as far as things  
>> like class loaders are concerned (e.g., whether it is loaded by  
>> different class loaders or the same, the actual search policy, etc.).
>
> So we're back to language constructs being deeply governed by non- 
> language mechanisms! That's a bad thing. Right now, we have only  
> module-private accessibility being controlled by the host system  
> (since it governs module membership) ... that's a very specific,  
> easy-to-reason-about extension point in the language's accessibility  
> model. It was also the clear will of the EG.
>
> Alex
> _______________________________________________
> jsr294-modularity-eg mailing list
> jsr294-modularity-eg at cs.oswego.edu
> http://cs.oswego.edu/mailman/listinfo/jsr294-modularity-eg

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cs.oswego.edu/pipermail/jsr294-modularity-observer/attachments/20090728/006c278c/attachment-0001.html>
-------------- next part --------------
_______________________________________________
jsr294-modularity-eg mailing list
jsr294-modularity-eg at cs.oswego.edu
http://cs.oswego.edu/mailman/listinfo/jsr294-modularity-eg


More information about the jsr294-modularity-observer mailing list