Speakers (non-Microsoft)

Gilad Bracha (Sun Microsystems),

  • Dynamically Typed Languages on the Java Platform

The Java platform is evolving to better support dynamic programming languages. In this talk, we discuss this evolution, and why and how it is taking place. In particular, we discuss two key issues:

  • The design of a new byte code, invokedynamic, that would enable more natural and performant mappings of dynamic languages onto the Java virtual machine.
  • Hotswapping, the ability to modify programs on the fly, and how it may be better suported on the Java platform.

William Cook (UT Austin)

  • TBA

John Gough (Queensland University of Technology),

  • Dealing with Ruby on the CLR

    After a career dealing with strongly typed language John Gough has entered the slippery world of dynamic languages with an implementation of Ruby on .NET.

    Ruby is a dynamic language with some unusual features. The problem of compiling it for the CLR pose some interesting new issues, as well as the challenges of dynamic languages generally. Ruby is an object oriented language, and allows singleton methods to be attached to individual objects. It also supports a sort of iterator construct and has continuations.

    In this talk John will discuss these issues, and describe the implementation strategies that map these constructs to the CLR in the Ruby.NET compiler.

Miguel de Icaza (Novel)

  • TBA

Shriram Krishnamurthi (Brown University)

Server-side Web applications have grown increasingly common, sometimes even replacing brick and mortar as the principal interface of corporations.  Correspondingly, Web browsers grow ever more powerful, empowering users to attach bookmarks, switch between pages, clone windows, and so forth.  As a result, Web interactions are not straight-line dialogs but complex nets of interaction steps.

In practice, programmers are unaware of or are unable to handle these nets of interaction, making the Web interfaces of even major organizations buggy and thus unreliable.  Even when programmers do address these constraints, the resulting programs have a seemingly mangled structure, making them difficult to develop and hard to maintain.

These problems are compounded by the need for the robust management of data.  Depending on context, both the availability and security of data become paramount.  This creates problems of access control, whose policies can themselves be quite subtle and difficult to author correctly.

In this talk, I will discuss the use of ideas from programming languages to improve the expression and robustness of Web applications.  I will also allude to the access control and other problems that arise in this context.  Most of this work has been done in the context of the PLT Scheme Web server and the Continue conference management application.

Invited Speakers (Microsoft)

Mike Barnett

  • Spec#: Why Every Language Should (Will) Have Contracts

Spec# is a programming system that aims to provide programmers with a higher degree of rigor than in common languages today. The Spec# language extends the object-oriented .NET language C#, adding features like non-null types, pre- and postconditions, and object invariants. In addition to static type checking and compiler-emitted runtime checks for specifications, Spec# has a static program verifier. The program verifier translates Spec# programs into verification conditions, which are then analyzed by an automatic theorem prover. In this talk, I will give a demo and overview of Spec#. I will then discuss some aspects of its design and implementation in more detail.

Gary Flake

Anders Helsjberg

  • Language Integrated Query (LINQ) and C# 3.0

Jim Hugunin

  • Dynamically Typed Languages on the Common Language Runtime

Polita Paulus

  • BLINQ

Don Syme

  • HOT Languages on the Common Language Runtime

Paul Vick

  • Visual Basic 9

Accepted Papers

PageXML: An XML based domain specific language for developing web applications

  • Mark Cooper

Cat Programming Language: A Functional Optimization Framework for the MSIL

  • Christopher Diggins

C21.1: Versioning in the TwentyFirst Century

  • Susan Eisenbach, Alex Buckley

Zonnon: A New Language and Compiler For .NET

  • Jurg Gutknecht, Roman Mitin, Eugene Zueff

Separating Modeling and Simulation Aspects In Framework-Based Modeling of Hardware/Software Systems

  • James Lapalme, El Mostapha Aboulhamid

On Integration of the Classbox Concept in the .NET Framework

  • Andre Lokasari, Hua Ming, Markus Lumpe

Hydra: Translating Source Code from a Unified Code Foundation into Different Target Languages

  • Markus Lorez, Alain Schneble