[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.


Text by me above is hereby placed in the public domain


More information about the e-lang mailing list