[e-lang] Fwd: Capability Systems and Concurrency
Mark Miller
erights at gmail.com
Tue Mar 4 00:21:38 EST 2008
3 of 6
---------- Forwarded message ----------
From: Kris Zyp <kzyp at sitepen.com>
Date: Tue, Jan 29, 2008 at 7:42 AM
Subject: Re: Capability Systems and Concurrency
To: Mark Miller <erights at gmail.com>
Cc: douglas at crockford.com, cormac at ucsc.edu, Brendan Eich <brendan at mozilla.org>
> Robust Composition: Towards a Unified Approach to Access Control and
> Concurrency Control <http://erights.org/talks/thesis/>
Very cool, you have done some significant work in this area. I am looking
forward to reading it all the way through.
BTW, One thing that really grabs my attention is the inclusion of
persistence and distributed computing, as these have been my primary areas
of interest and research. I don't know if you have ever heard of Persevere
(http://code.google.com/p/persevere-framework/), it is an open source
project that I developed that attempts to provide orthogonal persistence and
distributed computing capability to JavaScript. There is a Persevere server
that has a dynamic object database (capable of storing most objects that can
be created by JS), and a JavaScript client that loads objects from the
server, and as object graphs are traversed lazy loading is employed as
appropriate. As JS objects are changed on the client they are persisted to
the server. The server has a JS environment (Rhino) as well, and remote
method calls can be made across the wire with a consistent view of the
persistent object graph. It relies on several missing capabilities of
JavaScript (or JScript anyway) including property access monitoring and
control, and continuations (for composable flow with asynchronous lazy
loading), and so it also does it's own JavaScript transformation (not too
dissimiliar to Caja), in order to acheive the necessary JS capabiliities.
The JavaScript compiler I use is heavily based on Brendan's Narcissus and
Neil Mix's Narrative JS.
Anyway, I found it very interesting that most of the work object-capability
systems was closely tied to persistence. It certainly been a preeminent
concern of mine that ES have at least some basic constructs for acheiving
some level of object persistence (getters, setters, and introspection). I am
looking forward to exploring and learning more about the relationship
between persistence, capabilities, and concurrency. I will be reading you
thesis as soon as I get a chance.
Thanks,
Kris
--
Text by me above is hereby placed in the public domain
Cheers,
--MarkM
More information about the e-lang
mailing list