Toward a Multi-Language and Multi-Environment Framework for Live Programming
Part of the Proceedings of the Sixth Workshop on Live Programming (LIVE 2020).
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 for an existing code editor/IDE. Our idea is to use a meta-JIT language implementation framework (e.g., Graal/Truffle and RPython) and the Language Server Protocol (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.