Exploratory language development:Discovering the unknown unknowns of language design

Read full text
Authors: Damian Frölich
Cited by: 0

Abstract

Building a new programming language, whether general-purpose or domain-specific, is a complex task. A huge engineering effort is required and many design decisions need to be navigated. Not all design decisions are known a priori, and committing to a certain design too early can limit future development and usability of the language. In this thesis I introduce exploratory language development, which combines exploratory programming and language development into one activity. Exploratory language development aims to aid the early stages of the language development process by facilitating the exploration of and experimentation with language design choices. This is achieved by an alternative take on abstract syntax definitions, combined with a component-based approach to language engineering, and by deriving language tooling from language semantics.

Fields of Study & Subjects

Logic programming and type systems Model-Driven Software Engineering Techniques Software Engineering Research

Publication details

Journal / source
UvA-DARE (University of Amsterdam)
Publication date
1 January 2026
Language
EN