- Sponsor:
- sigplan
The Dynamic Languages Symposium (DLS) is a forum for discussion of dynamic languages, their implementation and application. While mature dynamic languages including Smalltalk, Lisp, Scheme, Self, and Prolog continue to grow and inspire new converts, a new generation of dynamic scripting languages such as Python, Ruby, PHP, and JavaScript are successful in a wide range of applications. DLS provides a place for researchers and practitioners to come together and share their knowledge, experience, and ideas for future research and development. This year 30 papers were submitted to the Dynamic Languages Symposium of which 9 papers were accepted. The program committee reviewed each paper and met electronically to select papers for the final program. This year we are pleased host invited talks by Mark Miller and Jim Hugunin.
Proceeding Downloads
Tradeoffs in retrofitting security: an experience report
In 1973, John Reynold's and James Morris' Gedanken language retrofit object-capability security into an Algol-like base. Today, there are active projects retrofitting Java, Javascript, Python, Mozart/Oz, OCaml, Perl, and Pict. These represent a variety ...
Report on the probabilistic language scheme
Reasoning with probabilistic models is a widespread and successful technique in areas ranging from computer vision, to natural language processing, to bioinformatics. Currently, these reasoning systems are either coded from scratch in general-purpose ...
OMeta: an object-oriented language for pattern matching
This paper introduces OMeta, a new object-oriented language for pattern matching. OMeta is based on a variant of Parsing Expression Grammars (PEGs) [5]---a recognition-based foundation for describing syntax---which we have extended to handle arbitrary ...
Arrays of objects
This paper discusses key design decisions faced by a language design team while adding Object Oriented language features to Dyalog, a modern dialect of APL. Although classes and interfaces are first-class language elements in the new language, and ...
Relationally-parametric polymorphic contracts
The analogy between types and contracts raises the question of how many features of static type systems can be expressed as dynamic contracts. An important feature missing in prior work on contracts is parametricity, as represented by the polymorphic ...
Dynamic ownership in a dynamic language
Object aliasing causes as many problems in dynamic languages as it does in static languages. Most existing work on aliasing, such as ownership types, relies on static checking based on annotations and type declarations. We introduce ConstraintedJava, a ...
RPython: a step towards reconciling dynamically and statically typed OO languages
Although the C-based interpreter of Python is reasonably fast, implementations on the CLI or the JVM platforms offers some advantages in terms of robustness and interoperability. Unfortunately, because the CLI and JVM are primarily designed to execute ...
An adaptive package management system for scheme
This paper presents a package management system for the Scheme programming language. It is inspired by the Comprehensive Perl Archive Network (CPAN) and various GNU/Linux distributions. It downloads, installs, and prepares source codes for execution. It ...
Highly dynamic behaviour adaptability through prototypes with subjective multimethods
With the advent of ambient intelligence and advances in mobile hardware technology, the next generation of software systems will require the ability to gracefully and dynamically adapt to changes in their surrounding environment. Contemporary languages ...
Mirages: behavioral intercession in a mirror-based architecture
Mirror-based systems are object-oriented reflective architectures built around a set of design principles that lead to reflective APIs which foster a high degree of reusability, loose coupling with base-level objects and whose structure and design ...
Bringing dynamic languages to .NET with the DLR
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 ...