Infoscience

Report

Independently Extensible Solutions to the Expression Problem

The *expression problem* is fundamental for the development of extensible software. Many (partial) solutions to this important problem have been proposed in the past. None of these approaches solves the problem of using different, independent extensions jointly. This paper proposes solutions to the expression problem that make it possible to combine independent extensions in a flexible, modular, and type-safe way. The solutions, formulated in the programming language Scala, are affected with only a small implementation overhead and are easy to implement by hand.

Keywords: extensibility ; expression problem ; design patterns ; software architecture ; programming languages ; type systems

Reference

  • LAMP-REPORT-2004-004

Record created on 2005-07-13, modified on 2012-03-21