Re: [Caja] Important new paper: The Need for Capability Policiies
Mike Stay <[email protected]> Mon, 8 Jul 2013 10:34:01 -0600
| Newsgroups | gmane.comp.lang.e.general,gmane.comp.capabilities.general |
|---|---|
| Message-ID | <CAKQgqTay=erSLkmVQAeAZbRfuP7udJ7NpcC_Ak8cixFyuUMfAg@mail.gmail.com> |
[Resending at Mark's request: since I wasn't subscribed to e-lang, the message bounced.] On Mon, Jul 8, 2013 at 5:58 AM, Meredith Gregory <[email protected]> wrote: > P.S. i think what Mike might have been saying about objects is something > like this. > > Which formal model of objects are you choosing in which to prove things > about the relationship of computations over objects to the particular policy > language? > What's the relationship of that formal model to Javascript? As i understand > it, Javascript is one of the go-to languages for a big portion of ocap > practice. > How familiar is the community of ocap practice with the formal model and > it's relationship to their practice? > > There are a few formal models of objects. Which one has wide enough > acceptance in the theoretical community that there might be enough momentum > to get it used in the community of practice for use in proving things about > policy-governed computation? Yes, that's the gist of it. Everyone agrees on the rough idea of an object, namely state + code, but the definition has to be expansive enough to cover cases where the language doesn't even support closures; I don't know of a formal definition of "object" that everyone agrees on, whereas the formal semantics of a pi calculus term are very clear. > A similar critique could certainly be levied against a mobile process > calculus based approach. Mike, are you suggesting that the ocap community of > practice also look at mobile process calculi for expression of practice > (writing executable code) as well as proving things about policy-governed > computation? That's a radical, but interesting idea! I'm not saying that everyone should switch to programming in Pict, but rather suggesting that there's a lot of interesting type theory around pi calculus and that pi calculus satisfies the criteria for being an ocap language. It would be really interesting to see, for instance, a compiler from some subset of JavaScript into some variant of pi calculus; I think that with some care, the compiler could be light enough that types could be pulled back from pi to js. The end result, I hope, would be insight into how to design a behavioral type system for general ocap languages. > For example, > object-based code is going to suffer the principle port issue, not so for > process calculi! I don't think that's really an issue; standard ocap practice is to factor authority into facets, each of which is a different reference. > On the other hand, there are not a very many practical > implementations of process calculi based languages. JoCaml comes to mind. > Are you thinking of something like that or maybe embedding an implementation > in a more modern language, maybe like Molecule? I'm asserting that by understanding process calculi better and their behavioral types, the ocap community will be in a better position to accomplish the goal laid out in this paper. -- Mike Stay - [email protected] http://www.cs.auckland.ac.nz/~mike http://reperiendi.wordpress.com