Re: Capabilities and RPC calls... Paul Snively (psnively@earthlink.net)
Sat, 09 Oct 1999 10:15:37 -0700

Hi again Gavin!

> Ahh. That explains the distinction I felt but couldn't articulate well.

It's subtle, I think, particularly if you haven't spent years thinking about objects.

> This is very interesting. Some year ago, I did some work on a distributed
> scheme, and some of the concepts seem very similar. The most appealing
> thing for me in the distributed scheme was that objects, because of the
> lexical scoping of scheme, could only talk to objects within their scope.
> This removed a number of security issues, and also made writing distributed
> objects/applications easier... the objects could be written like objects,
> not stateless servers.

Exactly. If you look closely at E, you'll find that it's heavily lambda-abstraction based as well, with local state and assignment.

> I guess in a distributed scheme, you could look at every lambda as an
> anonymous capability?

Assuming that the lambda expression somehow expressed access rights as well as functionality, yes.

> It seems to me that there must be some very interesting relations between
> capabilities and type composition.

I think so, too, intuitively. I think that intuition might be bolstered by learning more about some of the work in proof-carrying code, which often includes proof of type safety.

--
Please reply to <mailto:psnively@earthlink.net> using PGP. My public key can
be found at <http://pgpkeys.mit.edu:11371>. PGP can be found at
<http://web.mit.edu/network/pgp.html>. Beginning 11/1/1999, unenciphered
e-mail will be immediately deleted unread. Thank you.