Example-Based Live Programming for Everyone: Building Language-agnostic Tools for Live Programming with LSP and GraalVM
Tue 17 Nov 2020 09:00 - 09:20 at SPLASH-III - T-2-Onward Chair(s): Avraham Shinnar
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 Times are displayed in time zone: Central Time (US & Canada) change
09:00 - 10:20: T-2-OnwardOnward! Papers / Onward! Essays at SPLASH-III +12h Chair(s): Avraham ShinnarIBM Research | |||
09:00 - 09:20 Talk | Example-Based Live Programming for Everyone: Building Language-agnostic Tools for Live Programming with LSP and GraalVM Onward! Papers Fabio NiephausHasso Plattner Institute, University of Potsdam, Patrick ReinHasso Plattner Institute, Jakob EddingHasso Plattner Institute, University of Potsdam, Jonas HeringHasso Plattner Institute, University of Potsdam, Bastian KönigHasso Plattner Institute, University of Potsdam, Kolya OpahleHasso Plattner Institute, University of Potsdam, Nico ScordialoHasso Plattner Institute, University of Potsdam, Robert HirschfeldHasso Plattner Institute (HPI), University of Potsdam, Germany Link to publication DOI Pre-print Media Attached | ||
09:20 - 09:40 Talk | End-User Software Customization by Direct Manipulation of Tabular Data Onward! Papers Link to publication Pre-print | ||
09:40 - 10:00 Talk | Discussion of Aviation Software Oversight Improvement Onward! Essays Marc RonellU.S. Federal Aviation Administration Link to publication DOI | ||
10:00 - 10:20 Talk | A Case Study in Language-Based Security: Building an I/O Library for Wyvern Onward! Papers Jennifer FishCarnegie Mellon University, Darya MelicherGoogle, Jonathan AldrichCarnegie Mellon University Link to publication |
21:00 - 21:20 Talk | Example-Based Live Programming for Everyone: Building Language-agnostic Tools for Live Programming with LSP and GraalVM Onward! Papers Fabio NiephausHasso Plattner Institute, University of Potsdam, Patrick ReinHasso Plattner Institute, Jakob EddingHasso Plattner Institute, University of Potsdam, Jonas HeringHasso Plattner Institute, University of Potsdam, Bastian KönigHasso Plattner Institute, University of Potsdam, Kolya OpahleHasso Plattner Institute, University of Potsdam, Nico ScordialoHasso Plattner Institute, University of Potsdam, Robert HirschfeldHasso Plattner Institute (HPI), University of Potsdam, Germany Link to publication DOI Pre-print Media Attached | ||
21:20 - 21:40 Talk | End-User Software Customization by Direct Manipulation of Tabular Data Onward! Papers Link to publication Pre-print | ||
21:40 - 22:00 Talk | Discussion of Aviation Software Oversight Improvement Onward! Essays Marc RonellU.S. Federal Aviation Administration Link to publication DOI | ||
22:00 - 22:20 Talk | A Case Study in Language-Based Security: Building an I/O Library for Wyvern Onward! Papers Jennifer FishCarnegie Mellon University, Darya MelicherGoogle, Jonathan AldrichCarnegie Mellon University Link to publication |