Re: Securing and taming an existing language
Mike Stay <[email protected]> Tue, 24 Feb 2015 09:44:27 -0800
| Newsgroups | gmane.comp.lang.e.general |
|---|---|
| Message-ID | <CAKQgqTbCUvj6+xSOMd_h1Wy55-Y_ye9i9n-tqQP0aLcSuT8OVQ@mail.gmail.com> |
There are three documents about taming javascript and the document object model (DOM) here: https://code.google.com/p/google-caja/source/browse/#svn/branches/es53/doc/domado "DOMado" is a pun: the word means "tamed" in Spanish. On Tue, Feb 24, 2015 at 9:29 AM, Marc Stiegler <[email protected]> wrote: > For a taste of taming, the taming of the OCaml library for Emily is quite > small and simple, see a very brief description of it at > http://www.hpl.hp.com/techreports/2006/HPL-2006-116.pdf > > But the taming effort that is really informative is the one we did for E. I > have been told by a couple of people that they really came to understand > what taming was about by reading the tables supplied with E that specify > which methods and constructors are allowed, and which are disallowed. Markm > can tell you where to look to see that list. YMMV. > > --marcs > > On Mon, Feb 23, 2015 at 1:45 PM, Mark S. Miller <[email protected]> wrote: >> >> >> >> On Mon, Feb 23, 2015 at 10:41 AM, Bruce Mitchener >> <[email protected]> wrote: >>> >>> Hopefully this is the right list for this question or set of questions >>> ... >>> >>> I help maintain the Dylan language, http://opendylan.org/. It is similar >>> to Scheme, but with a CLOS-style object system, and was originally designed >>> by various Common Lisp folks at Apple, CMU and Harlequin in the early 1990s. >>> >>> I'm interested in seeing what we could do to become friendly to object >>> capabilities. >> >> >> Awesome! I remember Dylan fondly. >> >>> >>> >>> I've following along with E over the last 17 years off and on and some of >>> the other efforts. I've read the slides for >>> http://dynamic-languages-symposium.org/dls-07/program/media/MarkMiller_2007_TradeoffsInRetrofittingSecurityAnExperienceReport_Dls.pdf >>> ... I've also skimmed the paper on taming Pict >>> >>> I'm curious if there's a good place to start reading for how to: >>> >>> 1) subset a language to remove ambient authority >>> 2) tame unprincipled libraries >>> >>> I realize that these are big, complicated tasks, but I'd like to evaluate >>> whether or not this is a feasible direction for Dylan to move in. >> >> >> We've now done this successfully a number of times, for very different >> languages and libraries >> <http://wiki.erights.org/wiki/Object-capability_languages>, so we should >> more concrete lessons we could write down as a record independent of any one >> of these efforts. I'm embarrassed to say that we have not made any such >> record -- it is all folklore and experience, transmitted through >> conversation. Where are you located (feel free to respond privately to >> [email protected])? It would probably be good to assemble a group together >> for such conversations. >> >> >>> >>> >>> Along with the usual issues, Dylan has another interesting complication >>> in that it is using the CLOS model of OO which is very different from that >>> of Java, Smalltalk and C++. In the CLOS model, multiple dispatch is used and >>> the methods (generic functions) don't "belong" to objects or classes. (It >>> isn't really a message-passing OO.) >>> >>> Has there been any consideration of that sort of object system and model >>> in the past with respect to object capabilities? >> >> >> For CLOS itself, I'd say it is rather hopeless. But IIRC, Dylan has a >> module system that forms an encapsulated scope, similar to Java's package >> scope. Does this, or can this, for a basis for secure encapsulation? If so, >> there's an implicit rights amplification hazard that can lead to confused >> deputies, but not in a way that's necessarily fatal. I would start from >> there. >> >> -- >> Cheers, >> --MarkM >> >> _______________________________________________ >> e-lang mailing list >> [email protected] >> http://www.eros-os.org/mailman/listinfo/e-lang >> > > > _______________________________________________ > e-lang mailing list > [email protected] > http://www.eros-os.org/mailman/listinfo/e-lang > -- Mike Stay - [email protected] http://www.cs.auckland.ac.nz/~mike http://reperiendi.wordpress.com