Dynamic Languages Symposium 2006  OOPSLA 2006

Co-located with OOPSLA 2006

In cooperation with ACM SIGPLAN

Portland, Oregon, USA, October 23, 2006


Invited talks

Openness and simplicity in dynamic systems implementation
Ian Piumarta

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).

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 dot org.

Perl 6
Audrey Tang

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.

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.

Data Refactoring for Amateurs
Avi Bryant

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.

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.