On Thu, Aug 21, 2008 at 11:24 AM, Mark S. Miller <[EMAIL PROTECTED]> wrote: > When it doesn't work, it doesn't work. But when it does work, it's > highly worthwhile because it's the closest thing we've got to proper > lambda abstraction.
... and to *my* mind, the benefit of (defining the semantics as) desugaring to something well-understood (be it proper lambda abstraction or otherwise) is that the primitives of the language are now more amenable to formal -- or even semi-formal -- reasoning. >From our point of view in trying to build secure JavaScript variants, what I consider to be a huge breakthrough moment was when MarkM realized that we can support existing JavaScript patterns (fondly known as "monkey patching") by essentially desugaring one JavaScript flavor to another JavaScript flavor, and doing all our security reasoning about the second flavor. And I'm harping on security -- and support for clear reasoning this entails -- because I do believe it is crucial. Our work on the Caja group is not unique; there are several JavaScript dialects out there all trying to support the ubiquitous sharing of active content. The browser's same origin policy no longer works for the brave new world of social networks; gadgets; content aggregators; active advertisements; and what not. "Language as UI" issues are important, yes, but the *most* important thing is to be very careful and minimalistic about any new foundations that EcmaScript drives into in the ground -- ones that cannot be built on top of existing foundations. These have proven to be impossible to pull up again. Ihab -- Ihab A.B. Awad, Palo Alto, CA _______________________________________________ Es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

