[Grace-core] More thoughts on modules

James Noble kjx at ecs.vuw.ac.nz
Fri Jun 10 02:14:40 PDT 2011


> If we WANT this sort of encapsulation, then I think that encapsulation policies, as described in our OOPSLA paper, provide it much more elegantly.  But then I would think that, wouldn't I?  We considered many alternatives before settling in what's in the paper.

My understanding of your paper is that the policies only protect access to names:
if the server code is incorrect, there is no protection.
Ownership protects objects, and so long as the right objects are annotated,
will protect against errors in the server code

> I'm getting more and more attracted to the mix of lexical and inheritance chain scoping that we would get by allowing procedures as well as methods.  But I must say that I haven't thought through the consequences.  Has any other language actually done this, apart form ActionScript?  Rule of three and all that ...


if you mean the general idea of combining lexical nesting + inheritance, then there's
Java, Scala, Newspeak, beta, gbeta, Ambienttalk, presumably Miller's "E",
perhaps javascript, newtonscript, some       scheme object systems...

at least Scala, Newspeak & gbeta support class family poly style inheritance
which is based on combining nesting & inheritance
quite possibly they all have different inheritance policy rules

then there are a bunch of research type systems / languages in this space
like Jet, J@, (Nate Nystrom's stuff) Tribe, formal calculi underling gbeta & scala,

as to the precise scope & priority rules, I don't know what languages do.
Newspeak has lexical scope overriding inheritance 
Java does inheritance first
I tried to read the Scala spec to find out what it does - it's not clear.
Ambientalk discriminates with no prefix for lexical, and self. / super. for inheritance


from Background papers, I'd start with newspeak-nesting-dyla07,
then Tom's link - http://soft.vub.ac.be/amop/at/tutorial/multiparadigm
then newspeak-modules.pdf 

James


More information about the Grace-core mailing list