SEAug 6, 2021

The Specification Language Server Protocol: A Proposal for Standardised LSP Extensions

arXiv:2108.02961v114 citations
Originality Synthesis-oriented
AI Analysis

This addresses the issue for developers and tool builders working with specification languages, but it is incremental as it builds on the existing LSP framework.

The paper tackles the problem of ad-hoc extensions to the Language Server Protocol (LSP) for specification languages, which undermines its decoupling goal, and proposes a conservative extension to standardize support for these languages.

The Language Server Protocol (LSP) changed the field of Integrated Development Environments(IDEs), as it decouples core (programming) language features functionality from editor smarts, thus lowering the effort required to extend an IDE to support a language. The concept is a success and has been adopted by several programming languages and beyond. This is shown by the emergence of several LSP implementations for the many programming and specification languages (languages with a focus on modelling, reasoning, or proofs). However, for such languages LSP has been ad-hocly extended with the additional functionalities that are typically not found for programming languages and thus not supported in LSP. This foils the original LSP decoupling goal, because the move towards a new IDE requires yet another re-implementation of the ad-hoc LSP extension. In this paper we contribute with a conservative extension of LSP providing a first proposal towards a standard protocol decoupling the support of specification languages from the IDE. We hope our research attracts the larger community and motivates the need of a joint task force leading to a standardised LSP extension serving the particular needs of specification languages.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes