Example-Based Live Programming for Everyone: Building Language-agnostic Tools for Live Programming with LSP and GraalVM
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 NovDisplayed time zone: Central Time (US & Canada) change
09:00 - 10:20 | |||
09:00 20mTalk | 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 20mTalk | End-User Software Customization by Direct Manipulation of Tabular Data Onward! Papers Link to publication Pre-print | ||
09:40 20mTalk | Discussion of Aviation Software Oversight Improvement Onward! Essays Marc Ronell U.S. Federal Aviation Administration Link to publication DOI | ||
10:00 20mTalk | 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 20mTalk | 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 20mTalk | End-User Software Customization by Direct Manipulation of Tabular Data Onward! Papers Link to publication Pre-print | ||
21:40 20mTalk | Discussion of Aviation Software Oversight Improvement Onward! Essays Marc Ronell U.S. Federal Aviation Administration Link to publication DOI | ||
22:00 20mTalk | 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 |