Controlling dynamic module composition through an extensible meta-level API

  • Authors:
  • Eyvind W. Axelsen;Stein Krogdahl;Birger Møller-Pedersen

  • Affiliations:
  • University of Oslo, Oslo, Norway;University of Oslo, Oslo, Norway;University of Oslo, Oslo, Norway

  • Venue:
  • Proceedings of the 6th symposium on Dynamic languages
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

In addition to traditional object-oriented (OO) concepts such as inheritance and polymorphism, several modularization and composition mechanisms like e.g. traits, mixins and virtual classes have emerged. The Package Template mechanism is another attempt at providing a flexible mechanism for modularization, composition and adaption. Dynamic languages have traditionally employed strong support for meta-programming, with hooks to control OO concepts such as method invocation and object construction, by utilizing meta-classes and meta-object protocols. In this work, we attempt to bring a corresponding degree of meta-level control to composition primitives, with a concrete starting point in the package template mechanism as developed for the dynamic language Groovy. We wish to support a wide range of possible composition semantics, and to make such choices available to the developer through a meta-level API. This API should be extensible, and the semantic variations should be applied within well-defined scopes.