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.
Conference DaySun 20 OctDisplayed time zone: Beirut change
11:00 - 12:30
|First-class Dynamic TypesResearch Paper|
Michael HomerVictoria University of Wellington, Timothy JonesMontoux, James NobleVictoria University of WellingtonPre-print Media Attached
|Language-independent Development Environment Support For Dynamic RuntimesExperience Paper|
Daniel StolpeHasso-Plattner-Institut, Tim FelgentreffOracle Labs, Potsdam, Christian HumerOracle Labs, Switzerland, Fabio NiephausHasso Plattner Institute, University of Potsdam, Robert HirschfeldHasso-Plattner-Institut (HPI), GermanyPre-print Media Attached
|Optimizing and Evaluating Transient Gradual TypingResearch Paper|
Michael M. VitousekIndiana University, Jeremy G. SiekIndiana University, USA, Avik ChaudhuriFacebook, USAMedia Attached