Exploratory language development:Discovering the unknown unknowns of language design
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