Modular Interpreters for the Masses: Implicit Context Propagation Using Object Algebras
Modular interpreters have the potential to achieve component-based language development: instead of writing language interpreters from scratch, they can be assembled from reusable, semantic building blocks. Unfortunately, traditional language interpreters are hard to extend because different language constructs may require different interpreter signatures. For instance, arithmetic interpreters only produce a value, whereas binding constructs require and additional environment. In this paper, we present a practical solution to this problem based on implicit context propagation. By structuring denotational-style interpreters as Object Algebras, base interpreters can be retro-actively lifted into new interpreters that have an extended signature. The additional parameters are implicitly propagated behind the scenes, through the evaluation of the base interpreter. Interpreter lifting enables a flexible style of component-based language development. The technique works in mainstream object-oriented languages, does not sacrifice type safety or separate compilation, and can be easily automated. We illustrate implicit context propagation using a modular definition of Featherweight Java and its extension to support side-effects.
Tue 27 OctDisplayed time zone: Eastern Time (US & Canada) change
15:30 - 17:30 | |||
15:30 30mTalk | Modular Interpreters for the Masses: Implicit Context Propagation Using Object Algebras GPCE | ||
16:00 30mTalk | Addressing Metamodel Revisions in Model-based Software Product Lines GPCE Jaime Font San Jorge University, Lorena Arcega San Jorge University, Øystein Haugen Østfold University College, Carlos Cetina San Jorge University | ||
16:30 30mTalk | Generative Software Product Line Development using Variability-Aware Design Patterns GPCE Christoph Seidl Technische Universität Braunschweig, Sven Schuster Technische Universität Braunschweig, Ina Schaefer | ||
17:00 20mTalk | Model Querying with Query Models GPCE | ||
17:20 10mDay closing | GPCE'15 Closing and GPCE'16 Announcement GPCE |