A Language-Parametric Approach to Exploratory Programming Environments - Smart Modeling for software Research and Technology Access content directly
Conference Papers Year : 2022

A Language-Parametric Approach to Exploratory Programming Environments


Exploratory programming is a software development style in which code is a medium for prototyping ideas and solutions, and in which even the end-goal can evolve over time. Exploratory programming is valuable in various contexts such as programming education, data science, and end-user programming. However, there is a lack of appropriate tooling and language design principles to support exploratory programming. This paper presents a host language-and object language-independent protocol for exploratory programming akin to the Language Server Protocol. The protocol serves as a basis to develop novel (or extend existing) programming environments for exploratory programming such as computational notebooks and command-line REPLs. An architecture is presented on top of which prototype environments can be developed with relative ease, because existing (language) components can be reused. Our prototypes demonstrate that the proposed protocol is sufficiently expressive to support exploratory programming scenarios as encountered in literature within the software engineering, human-computer interaction and data science domains.
Fichier principal
Vignette du fichier
3567512.3567527orig.pdf (688.39 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

hal-03921387 , version 1 (03-01-2023)



L. Thomas van Binsbergen, Damian Frölich, Mauricio Verano Merino, Joey Lai, Pierre Jeanjean, et al.. A Language-Parametric Approach to Exploratory Programming Environments. SLE 2022 - 15th ACM SIGPLAN International Conference on Software Language Engineering, ACM SIGPLAN: Special Interest Group on Programming Languages, Dec 2022, Auckland, New Zealand. pp.175-188, ⟨10.1145/3567512.3567527⟩. ⟨hal-03921387⟩
103 View
104 Download



Gmail Facebook X LinkedIn More