freeco home: towards Free Composition of software modules


FREECO: The Free Composition initiative

Workshop on Free Composition

Our Vision

The history of programming languages shows a continuous search for new composition mechanisms to find better ways for structuring increasingly complex software systems into modules that can be developed and reused independently. Well-known examples are procedure calls, delegation, object aggregation, inheritance, mix-ins, aspects, andsoforth.

Composition mechanisms can address various forms of composition of objects or components at the level of their behavior or interactions, e.g., by design patterns, contracts or explicit protocols. They can be general purpose, but there is also a wide variety of domain-specific compositions, which are applicable for certain types of application domains.

However, most languages adopt a limited set of composition mechanisms, usually with explicit notation and predefined semantics. In case a language does not provide any mechanisms with the desired compositional behavior, programmers may need to write workarounds in the application program, or may introduce the new composition mechanism through macros, libraries, frameworks or language extensions.

This community investigates programming languages and software development by exploring the notion that languages should not offer a limited set of fixed composition mechanisms, but allow for flexibility, a wide variety of compositions, domain-specific and tailored compositions, or programmable compositions of various program artifacts.

Workshop websites

an artist impression of a Star Wars ‘FREECO bike’ (


The Free Composition initiative

October 22, 2012

October 23, 2011

July 26, 2011

Contact information

FREECO activities have been initiated by:

    Christoph Bockisch (Univ. of Twente)

    Lodewijk Bergmans (Univ. of Twente)

you can mail the FREECO organizers at:


(replace underscores with dots)