Dynamic Languages Symposium 2007  OOPSLA 2007

Co-located with OOPSLA 2007

In cooperation with ACM SIGPLAN

Montreal, Quebec, Canada, October 22, 2007


Invited talks

Tradeoffs in Retrofitting Security: An Experience Report
Mark S. Miller (Google Inc.)

In 1973, John Reynold's and James Morris' Gedanken Language retrofit object-capability security into an Algol-like language. Today, there are active projects retrofitting Java, Javascript, Python, Mozart/Oz, OCaml, Perl, and Pict. These represent a variety of approaches, with different tradeoffs regarding legacy compatibility, safety, and expressivity. In this talk I propose a taxonomy of these approaches, and discuss some of the lessons learned to date.

Mark S. Miller is a research scientist at Google, open source coordinator for the E secure distributed programming language, co-creator of the agoric paradigm of market-based computing, and an architect of the Xanadu hypertext publishing system.

Bringing Dynamic Languages to .NET with the DLR
Jim Hugunin (Microsoft Corp.)

From the beginning, Microsoft's .NET framework was designed to support a broad range of different programming languages on a Common Language Runtime (CLR). The CLR provides shared services to these languages ranging from a world-class GC and JIT to a sandboxed security model to tools integration for debugging and profiling. Sharing these features has two huge benefits for languages on the CLR. First, it's easier to implement a language because lots of difficult engineering work is already done for you. Second, and more importantly, these languages can seamlessly work together and share libraries and frameworks so that each language can build on the work of the others.

The CLR has good support for dynamic languages today. IronPython-1.0 demonstrates this. The new Dynamic Language Runtime (DLR) adds a small set of key features to the CLR to make it dramatically better. It adds to the platform a set of services designed explicitly for the needs of dynamic languages. These include a shared dynamic type system, standard hosting model and support to make it easy to generate fast dynamic code. With these additional features it becomes dramatically easier to build high-quality dynamic language implementations on .NET. More importantly, these features enable all of the dynamic languages which use the DLR to freely share code with other dynamic languages as well as with the existing powerful static languages on the platform such as VB.NET and C#.

Jim Hugunin is an architect on the Common Language Runtime (CLR) team at Microsoft where he drives work to further improve the support for dynamic languages within the .NET platform - starting with the initial successes of IronPython. Prior to joining Microsoft, Jim worked at Xerox PARC as one of the principal designers of the AspectJ language and tools. Jim is also the creator of Jython, one of the first and still one of the most popular scripting languages for the Java platform.