A Language-Parametric Approach to Exploratory Programming Environments

L. Thomas Van Binsbergen, Damian Frölich, Mauricio Verano Merino, Joey Lai, Pierre Jeanjean, Tijs Van Der Storm, Benoit Combemale, Olivier Barais

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

1 Citation (Scopus)
49 Downloads (Pure)

Abstract

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.

Original languageEnglish
Title of host publicationSLE 2022 - Proceedings of the 15th ACM SIGPLAN International Conference on Software Language Engineering, co-located with SPLASH 2022
EditorsBernd Fischer, Lola Burgueno, Walter Cazzola
PublisherACM Press Digital Library
Pages175-188
Number of pages14
ISBN (Electronic)9781450399197
DOIs
Publication statusPublished - 29-Nov-2022
Event15th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2022, co-located with the ACM SIGPLAN conference on Systems, Programming, Languages, and Applications. SPLASH 2022 - Auckland, New Zealand
Duration: 6-Dec-20227-Dec-2022

Conference

Conference15th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2022, co-located with the ACM SIGPLAN conference on Systems, Programming, Languages, and Applications. SPLASH 2022
Country/TerritoryNew Zealand
CityAuckland
Period06/12/202207/12/2022

Keywords

  • Exploratory programming
  • IDEs
  • interpreters
  • notebooks
  • protocol
  • REPLs

Fingerprint

Dive into the research topics of 'A Language-Parametric Approach to Exploratory Programming Environments'. Together they form a unique fingerprint.

Cite this