Retrofitting objcaps

Matej Kosik kosik at fiit.stuba.sk
Thu Oct 19 07:28:32 UTC 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Michael

Michael van der Gulik wrote:
> 
> 
> On 18 Oct 2006 19:36:02 -0400, *Lex Spoon* <lex at cc.gatech.edu
> <mailto:lex at cc.gatech.edu>> wrote:
> 
>     Perhaps we should go all the way, though, and explore nested classes.
>     The only issue there is that it is a major change.  Implementing it in
>     the language is not a big deal, but updating all the browsers and
>     debuggers and so on looks like a lot of work, especially if you try to
>     achieve anything like Smalltalk's level of tool quality.  Still, maybe
>     you have to go this far if you want to take the hard line on lexical
>     scope and get a usable, security-sensible system.
> 
> 
> Nested classes? What do you mean? Are you talking about nested
> Namespaces (org.squeak.kernel.numbers.SmallInteger)?
> 

Have you read papers about E? Have you read Mark Miller's dissertation?
http://www.erights.org/talks/thesis/index.html

"Nested classes", "nested functions" or lexical scoping is related to
the unusual (like in lambda-calculus, like in pi-calculus, etc) rules
which determine which variable names are visible in the particular point
in the source code. It may seem "weird" but it is one mechanism which
can be used to build secure language (in the sense of E).

Can we implement Point in Smalltalk and E? Yes.

What about ConstantPoint? Constant point is such an object which behaves
exactly like a Point except for that it cannot be moved (once it is
created). Can we implement such a thing in Smalltalk? Yes, it is
"enough" to implement E interpreter in Squeak and then you are done. Can
we implement constant point directly in E? Yes, it is trivial (few lines
of code).

Or am I wrong? Is it somehow possible to implement ConstantPoint in
Smalltalk?
- --
Matej Ko?ík
icq: 300133844, skype: matej_kosik, sarkan at jabber.sk
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFNykgL+CaXfJI/hgRAs3NAKDDbxKxZpJ+3TUGrgDrxNMZkHiDAACggP4s
l5V8WAp1Yf8Wzy6FOuxSfm4=
=CQjN
-----END PGP SIGNATURE-----



More information about the Squeak-dev mailing list