Language-independent Development Environment Support For Dynamic Runtimes
There are many factors for the success of a new programming language implementation. Existing language implementation frameworks such as Truffle or RPython have focused on run-time performance and security, or on providing a comprehensive set of libraries.
The tools that language users need to be productive are also an important factor for the adoption of a programming language. The aforementioned frameworks, however, provide limited support for creating comprehensive development tools. This is an impediment to language adoption that can be as serious as performance issues or lack of libraries. Both Truffle and RPython already provide run-time tools such as for debugging, profiling, or coverage in a language-independent manner, but neither support static development tasks carried out in code editors.
In this work, we propose a language-agnostic approach to add this missing tooling by making the LSP available automatically to all language implementations on the Truffle framework. Furthermore, we show how our approach can utilize runtime information to provide IDE features rarely available for dynamic programming languages.
Sun 20 OctDisplayed time zone: Beirut change
11:00 - 12:30
|First-class Dynamic TypesResearch Paper|
Michael Homer Victoria University of Wellington, Timothy Jones Montoux, James Noble Victoria University of WellingtonPre-print Media Attached
|Language-independent Development Environment Support For Dynamic RuntimesExperience Paper|
Daniel Stolpe Hasso-Plattner-Institut, Tim Felgentreff Oracle Labs, Potsdam, Christian Humer Oracle Labs, Switzerland, Fabio Niephaus Hasso Plattner Institute, University of Potsdam, Robert Hirschfeld Hasso-Plattner-Institut (HPI), GermanyPre-print Media Attached
|Optimizing and Evaluating Transient Gradual TypingResearch Paper|
Michael M. Vitousek Indiana University, Jeremy G. Siek Indiana University, USA, Avik Chaudhuri Facebook, USAMedia Attached