Designing the ECMAScript Reflection API

For the past two years, I have been working on a new Reflection API for ECMAScript (the Javascript standard) together with Mark Miller. Its most novel feature is its support for proxies, objects whose behavior in response to a large number of built-in functions and operators can be controlled in Javascript itself.

Last week, I finally finished a paper that not only describes the new API in some detail, but also describes the principles that helped steer our design.

Why Programming Languages?

When I present my research work on programming languages, people often ask me "why do you need a new programming language to solve this problem? Why not just implement it as a library?" Or, I get asked "why didn't you implement it as an extension to {some existing language}?" In this essay I try to make explicit some of the goals and motivations behind language design.

AmbientTalk at Emerging Languages Camp

Last July, I presented AmbientTalk at the first Emerging Languages Camp at O'Reilly's OSCON in Portland.

Harmony Proxies in Firefox

Andreas Gal from Mozilla is implementing the Proxy API that I developed at Google in collaboration with Mark S. Miller. This API enables the creation of dynamic proxies that can intercept a variety of operations applied to Javascript objects. Proxies are currently available in the Firefox 3.7a pre-release and are scheduled to be included in the next Ecmascript standard. I am in the process of writing up a small tutorial to introduce this new feature.

DCDP Workshops

I am organizer of the first Workshop on Decentralized Coordination of Distributed Processes (DCDP), to be held June 10th in conjunction with DisCoTec 2010 in Amsterdam, The Netherlands.

Tags:

Javascript at Google Research

I am currently a Visiting Faculty member at Google in Mountain View, USA. Together with Mark Miller I am experimenting with proposed extensions to the Javascript programming language. Concretely:

OOPSLA Tutorial

In october 2009, I presented a tutorial on event-driven concurrency at OOPSLA 2009 in Orlando, Florida.

Subscribe to Invokedynamic RSS