📖
A principled approach to REPL interpreters
L. Thomas van Binsbergen, Mauricio Verano Merino, Pierre Jeanjean, Tijs van Der Storm, Benoit Combemale, Olivier Barais

A principled approach to REPL interpreters

Science & Mathematics Published 2020 Verification Pending

Overview & Synopsis

Read-eval-print-loops (REPLs) allow programmers to test out snippets of code, explore APIs, or even incrementally construct code, and get immediate feedback on their actions. However, even though many languages provide a REPL, the relation between the language as is and what is accepted at the REPL prompt is not always well-defined. Furthermore, implementing a REPL for new languages, such as DSLs, may incur significant language engineering cost. In this paper we survey the domain of REPLs and investigate the (formal) principles underlying REPLs. We identify and define the class of sequential languages, which admit a sound REPL implementation based on a definitional interpreter , and present design guidelines for extending existing language implementations to support REPL-style interfaces (including computational notebooks). The obtained REPLs can then be generically turned into an exploring interpreter, to allow exploration of the user's interaction. The approach is illustrated using three case studies, based on MiniJava, QL (a DSL for questionnaires), and eFLINT (a DSL for normative rules). We expect sequential languages, and the consequent design principles, to be stepping stones towards a better understanding of the essence of REPLs.

Indexed from repository: HAL Open Science (hal.science)
Loading document from verified source...
Keyboard Shortcuts: ← / → for pages • + / - for zoom • 0 to fit width Powered by Mozilla PDF.js v3.11

Document Information

Document Title A principled approach to REPL interpreters
Author / Organization L. Thomas van Binsbergen, Mauricio Verano Merino, Pierre Jeanjean, Tijs van Der Storm, Benoit Combemale, Olivier Barais
Subject & Discipline Multidisciplinary Academic Open Research
Categories Science & Mathematics
Publication Year 2020
License / Rights Open Access / Creative Commons
Resource Verification Listed PDF (Verification Pending)
Original Host Website HAL Open Science (hal.science)
File Format application/pdf (Portable Document Format)
Language EN
Catalog ID DOC-230155
Original Source Link Visit Source Page on hal.science »