XPL: A language for modular homogeneous language embedding

Tony Clark*

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review


Languages that are used for Software Language Engineering (SLE) offer a range of features that support the construction and deployment of new languages. SLE languages offer features for constructing and processing syntax and defining the semantics of language features. New languages may be embedded within an existing language (internal) or may be stand-alone (external). Modularity is a desirable SLE property for which there is no generally agreed approach. This article analyses the current tools for SLE and identifies the key features that are common. It then proposes a language called XPL that supports these features. XPL is higher-order and allows languages to be constructed and manipulated as first-class elements and therefore can be used to represent a range of approaches to modular language definition. This is validated by using XPL to define the notion of a language module that supports modular language construction and language transformation.

Original languageEnglish
Pages (from-to)589-616
Number of pages28
JournalScience of Computer Programming
Issue numberPart 4
Publication statusPublished - 1 Feb 2015

Bibliographical note

© 2015, Elsevier. Licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International http://creativecommons.org/licenses/by-nc-nd/4.0/


  • Domain specific languages
  • Language modules
  • Software language engineering


Dive into the research topics of 'XPL: A language for modular homogeneous language embedding'. Together they form a unique fingerprint.

Cite this