SPLASH 2020
Sun 15 - Sat 21 November 2020 Online Conference
Tue 17 Nov 2020 09:00 - 09:20 at SPLASH-III - T-2-Onward Chair(s): Avraham Shinnar
Tue 17 Nov 2020 21:00 - 21:20 at SPLASH-III - T-2-Onward Chair(s): Jonathan Edwards

Our community has explored various approaches to improve the programming experience. Although many of them, such as Example-based Live Programming (ELP), have shown to be effective, they are still not widespread in conventional programming environments. A reason for that is the effort required to provide sophisticated tools that rely on run-time information. To target multiple language ecosystems, it is often necessary to implement the same concepts, but for different languages and runtimes. Two emerging technologies present an opportunity to reduce this effort significantly: the Language Server Protocol (LSP) and language implementation frameworks such as GraalVM’s Truffle. In this paper, we show how an ELP system can be built in a language-agnostic way by leveraging these two technologies. Based on our approach, we implemented the Babylonian Programming system, an ELP system that has previously only been implemented for exploratory ecosystems. Our system, on the other hand, brings ELP for all languages supported by the GraalVM to Visual Studio Code (VS Code). Moreover, we outline what a language-agnostic infrastructure needs to provide and how the LSP could be extended to support ELP also independently from programming environments. Further, we demonstrate how our approach enables the use of ELP in the context of polyglot programming. We illustrate the consequences of our approach by discussing its advantages and limitations and by comparing the features of our system to other ELP systems. Moreover, we give an outlook of how tools that rely on run-time information could be built in the future. This in turn might motivate future tool builders and researchers to consider implementing more tools in a language-agnostic way from the start to make them available to a broader audience.

Tue 17 Nov

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

09:00 - 10:20
T-2-OnwardOnward! Papers / Onward! Essays at SPLASH-III +12h
Chair(s): Avraham Shinnar IBM Research
09:00
20m
Talk
Example-Based Live Programming for Everyone: Building Language-agnostic Tools for Live Programming with LSP and GraalVM
Onward! Papers
Fabio Niephaus Hasso Plattner Institute, University of Potsdam, Patrick Rein Hasso Plattner Institute, Jakob Edding Hasso Plattner Institute, University of Potsdam, Jonas Hering Hasso Plattner Institute, University of Potsdam, Bastian König Hasso Plattner Institute, University of Potsdam, Kolya Opahle Hasso Plattner Institute, University of Potsdam, Nico Scordialo Hasso Plattner Institute, University of Potsdam, Robert Hirschfeld Hasso Plattner Institute (HPI), University of Potsdam, Germany
Link to publication DOI Pre-print Media Attached
09:20
20m
Talk
End-User Software Customization by Direct Manipulation of Tabular Data
Onward! Papers
Link to publication Pre-print
09:40
20m
Talk
Discussion of Aviation Software Oversight Improvement
Onward! Essays
Marc Ronell U.S. Federal Aviation Administration
Link to publication DOI
10:00
20m
Talk
A Case Study in Language-Based Security: Building an I/O Library for Wyvern
Onward! Papers
Jennifer Fish Carnegie Mellon University, Darya Melicher Google, Jonathan Aldrich Carnegie Mellon University
Link to publication
21:00 - 22:20
21:00
20m
Talk
Example-Based Live Programming for Everyone: Building Language-agnostic Tools for Live Programming with LSP and GraalVM
Onward! Papers
Fabio Niephaus Hasso Plattner Institute, University of Potsdam, Patrick Rein Hasso Plattner Institute, Jakob Edding Hasso Plattner Institute, University of Potsdam, Jonas Hering Hasso Plattner Institute, University of Potsdam, Bastian König Hasso Plattner Institute, University of Potsdam, Kolya Opahle Hasso Plattner Institute, University of Potsdam, Nico Scordialo Hasso Plattner Institute, University of Potsdam, Robert Hirschfeld Hasso Plattner Institute (HPI), University of Potsdam, Germany
Link to publication DOI Pre-print Media Attached
21:20
20m
Talk
End-User Software Customization by Direct Manipulation of Tabular Data
Onward! Papers
Link to publication Pre-print
21:40
20m
Talk
Discussion of Aviation Software Oversight Improvement
Onward! Essays
Marc Ronell U.S. Federal Aviation Administration
Link to publication DOI
22:00
20m
Talk
A Case Study in Language-Based Security: Building an I/O Library for Wyvern
Onward! Papers
Jennifer Fish Carnegie Mellon University, Darya Melicher Google, Jonathan Aldrich Carnegie Mellon University
Link to publication