Abstract:
While applications of live programming are expanding to more practical and professional domains, most live programming environments (LPEs) are still developed for a single target language with an original code editor. We propose an implementation framework for developing LPEs so that we can minimize efforts on implementing an LPE for a different target language and an existing code editor/IDE. Our idea is to use a meta-JIT language implementation framework (e.g., Graal/Truffle and RPython) and LSP to separate core live programming implementations from language-specific and editor/IDE specific implementations. This paper takes the Kanon live programming environment as a concrete example and discusses how we can design the framework to accommodate the features of Kanon. Although the framework design is still underway, the paper presents a sketch of the framework APIs for separating language-specific functions and clarifies the requirements to LSP.
Reference:
Toward a Multi-Language and Multi-Environment Framework for Live Programming (Hidehiko Masuhara, Shusuke Takahashi, Yusuke Izawa and Youyou Cong), Talk at the 2020 Workshop on Live Programming (colocated with SPLASH 2020), 2020.
Bibtex Entry:
@misc{masuhara2020live,
author = {Hidehiko Masuhara and Shusuke Takahashi and Yusuke Izawa and Youyou Cong},
title = {Toward a Multi-Language and Multi-Environment Framework for Live Programming},
howpublished = {Talk at the 2020 Workshop on Live Programming (colocated with SPLASH 2020)},
month = nov,
year = 2020,
url = {https://2020.splashcon.org/home/live-2020},
pdf = {live2020.pdf},
abstract = {While applications of live programming are expanding to more practical and professional domains, most live programming environments (LPEs) are still developed for a single target language with an original code editor. We propose an implementation framework for developing LPEs so that we can minimize efforts on implementing an LPE for a different target language and an existing code editor/IDE. Our idea is to use a meta-JIT language implementation framework (e.g., Graal/Truffle and RPython) and LSP to separate core live programming implementations from language-specific and editor/IDE specific implementations. This paper takes the Kanon live programming environment as a concrete example and discusses how we can design the framework to accommodate the features of Kanon. Although the framework design is still underway, the paper presents a sketch of the framework APIs for separating language-specific functions and clarifies the requirements to LSP.},
date = {2020-11-17}
}