Chairs: Robert Hirschfeld, Hasso-Platner Institute and William Cook, University of Texas at Austin (
)
The Dynamic Languages Symposium (DLS) at OOPSLA 2006 is a forum for discussion of dynamic languages, their implementation and applications.
While mature dynamic languages including Smalltalk, Lisp, Scheme, and Prolog continue to grow and inspire new converts, a new generation of dynamic scripting languages such as Python, Ruby, PHP, Perl and JavaScript are successful in a wide range of applications.
DLS provides a world-class forum for researchers and practitioners to come together to share their knowledge and experience, and to discuss and further groundbreaking ideas and new research directions.
Invited Talk Openness and simplicity in dynamic systems implementation Ian Piumarta
9:30 - 10:00
Break
10:00 - 11:30
Research Papers PyPy's Approach to Virtual Machine Construction Armin Rigo and Samuele Pedroni
Runtime Synthesis of High-Performance Code from Scripting Languages Christopher Mueller and Andrew Lumsdaine
Interlanguage Migration: From Scripts to Programs Sam Tobin-Hochstadt and Matthias Felleisen
11:30 - 13:00
Break
13:00 - 14:00
Invited Talk Perl 6 Audrey Tang
14:00 - 14:30
Break
14:30 - 16:00
Research Papers Hop, a Language for Programming the Web 2.0 Manuel Serrano, Erick Gallesio, and Florian Loitsch
Ambient References: Addressing Objects in Mobile Networks Tom Van Cutsem, Jessie Dedecker, Stijn Mostinckx, Elisa Gonzalez Boix, Theo D'Hondt, and Wolfgang De Meuter
Hardware Transactional Memory Support for Lightweight Dynamic Language Evolution Nicholas Riley and Craig Zilles
16:00 - 16:15
Short Break
16:15 - 17:15
Invited Talk Data Refactoring for Amateurs Avi Bryant
Invited Speakers
Avi Bryant: Data Refactoring for Amateurs
Agile software development methodologies such as Extreme Programming advocate iterative design via incremental, test-driven code extension and automated refactorings. When the goal is to allow non-developers to build their own solutions, even in a limited way, this approach to incrementality becomes even more important -- non-developers generally have even less of the design experience necessary to make reasonable decisions up front, and need real use and concrete examples to guide their decisions. Dabble DB is a commercial data management tool aimed at casual business users. It encourages users to evolve data models slowly over time, starting with untyped and de-normalized models and proceeding to more sophisticated models only as the need becomes apparent. We introduce a set of data refactorings designed to support this usage pattern, and show selected examples of their real-world use.
Bio: Avi Bryant is the co-CEO of Smallthought Systems Inc., a Vancouver startup focused on web-based collaboration tools. He is the author and maintainer of the Seaside web application framework, and is active in the open source Squeak Smalltalk community.
Audrey Tang: Perl 6
Perl is a general-purpose language, known for its vast number of freely available libraries. The Perl 6 project was started to improve the language's support for multi-paradigmatic programming, while retaining compatibility with the existing code base. This talk discusses how Perl 6 attempts to reconcile various competing paradigms in the field of programming language design, such as static vs. dynamic typechecking, nominal vs. structural subtyping, prototype vs. class-based objects, and lazy vs. eager evaluation. Moreover, this talk also covers the design and development of Pugs, a self-hosting Perl 6 implementation bootstrapped from Haskell, targeting multiple runtime environments, including Perl 5, JavaScript and Parrot.
Bio: Audrey Tang is a Taiwanese free software programmer, best known for initiating and leading the Pugs project, a joint effort from Haskell and Perl communities to implement the Perl 6 language. She is also known for internationalization and localization contributions to several Free Software programs, including SVK, Kwiki, Request Tracker and Slash, as well as heading Traditional Chinese translation efforts for various Open Source-related books. On the CPAN, Tang initiated over 100 Perl projects, including the popular Perl Archive Toolkit (PAR), a cross-platform packaging and deployment tool for Perl 5. She is also responsible for setting up smoke test and digital signature systems for CPAN. Tang is a high school dropout and a vocal proponent for autodidacticism and individualist anarchism.
Ian Piumarta: Openness and simplicity in dynamic systems implementation
The talk will describe a basis for constructing systems (programming languages, environments and applications) in which users can be encouraged to adapt the characteristics of the system to match their needs (rather than the other way round). Such systems can be evolved from a pair of abstractions for state (objects communicating by messaging) and behaviour (first-class functions) that are mutually supporting: objects form structures representing symbolic expressions that fully describe the message sequencing and sending that are needed to implement objects. The result is extreme late-binding (nothing in the system is immune from dynamic modification) and extreme simplicity (each abstraction can be written down in a handful of lines of mathematics, and only slightly more lines of code).
Bio: Ian Piumarta is a computer scientist at Viewpoints Research Institute. He spends much of his time designing and building systems whose implementations are maximally open, reflexive, dynamically self-describing and understandable. He can be contacted at squeakland.org.