SPLASH 2020
Sun 15 - Sat 21 November 2020 Online Conference
Tue 17 Nov 2020 13:40 - 14:00 at SPLASH-III - T-4-Onward Chair(s): Marc Ronell
Wed 18 Nov 2020 01:40 - 02:00 at SPLASH-III - T-4-Onward Chair(s): Didier Verna

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.

Tue 17 Nov

Displayed time zone: Central Time (US & Canada) change

13:00 - 14:00
T-4-OnwardOnward! Papers / Onward! Essays at SPLASH-III +12h
Chair(s): Marc Ronell U.S. Federal Aviation Administration
13:00
20m
Talk
Notes on Notebooks: Is Jupyter the Bringer of Jollity?
Onward! Essays
Jeremy Singer Glasgow University
Link to publication DOI Pre-print
13:20
20m
Talk
Intrepydd: Performance, Productivity and Portability for Data Science Application Kernels
Onward! Papers
Tong Zhou Georgia Institute of Technology, Jun Shirako Georgia Institute of Technology, Anirudh Jain Georgia Institute of Technology, Sriseshan Srikanth Georgia Institute of Technology, Thomas Conte Georgia Institute of Technology, Richard Vuduc Georgia Tech, Vivek Sarkar Georgia Institute of Technology
Link to publication
13:40
20m
Talk
A principled approach to REPL interpreters
Onward! Papers
L. Thomas van Binsbergen CWI, Mauricio Verano Merino Technische Universiteit Eindhoven, Pierre Jeanjean Inria, Univ Rennes, CNRS, IRISA, Tijs van der Storm CWI & University of Groningen, Netherlands, Benoit Combemale University of Rennes, France / Inria, France / CNRS, France / IRISA, France, Olivier Barais University of Rennes, France / Inria, France / CNRS, France / IRISA, France
Link to publication DOI Pre-print

Wed 18 Nov

Displayed time zone: Central Time (US & Canada) change

01:00 - 02:00
T-4-OnwardOnward! Papers / Onward! Essays at SPLASH-III
Chair(s): Didier Verna EPITA / LRDE
01:00
20m
Talk
Notes on Notebooks: Is Jupyter the Bringer of Jollity?
Onward! Essays
Jeremy Singer Glasgow University
Link to publication DOI Pre-print
01:20
20m
Talk
Intrepydd: Performance, Productivity and Portability for Data Science Application Kernels
Onward! Papers
Tong Zhou Georgia Institute of Technology, Jun Shirako Georgia Institute of Technology, Anirudh Jain Georgia Institute of Technology, Sriseshan Srikanth Georgia Institute of Technology, Thomas Conte Georgia Institute of Technology, Richard Vuduc Georgia Tech, Vivek Sarkar Georgia Institute of Technology
Link to publication
01:40
20m
Talk
A principled approach to REPL interpreters
Onward! Papers
L. Thomas van Binsbergen CWI, Mauricio Verano Merino Technische Universiteit Eindhoven, Pierre Jeanjean Inria, Univ Rennes, CNRS, IRISA, Tijs van der Storm CWI & University of Groningen, Netherlands, Benoit Combemale University of Rennes, France / Inria, France / CNRS, France / IRISA, France, Olivier Barais University of Rennes, France / Inria, France / CNRS, France / IRISA, France
Link to publication DOI Pre-print