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