Updated and/or extended versions of papers accepted for the workshop on Free Composition at ECOOP 2011. The proceedings were published by the ACM Digital Library.

Open, extensible composition models

Simple functional languages like LISP are useful for exploring novel semantics and composition mechanisms. That usefulness can be limited by the assumptions built into the evaluator about the structure of data and the meaning of expressions. These assumptions create difficulties when a program introduces a composition mechanism that differs substantially from the built-in mechanism of function application. We explore how an evaluator can be constructed to eliminate most built-in assumptions about meaning, and show how new composition mechanisms can be introduced easily and seamlessly into the language it evaluates.
Updated, full version    TBD
Published version freeco11-piumarta-oecm.pdf

An association-based model of dynamic behaviour

Dynamic programming languages seem to spend much of their time looking up behaviour associatively. Data structures in these languages are also easily expressible as associations. We propose that many, and maybe even all, interesting organisations of information and behaviour might be built from a single primitive operation:~n-way associative lookup. A fast implementation of this primitive, possibly in hardware, could be the basis of efficient and compact implementations of a diverse range of programming language semantics and data structures.
Published version    freeco11-piumarta-abmdb.pdf