IDE as Code: Reifying Language Protocols as First-Class Citizens - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Conference Papers Year : 2021

IDE as Code: Reifying Language Protocols as First-Class Citizens

Pierre Jeanjean
Benoit Combemale
Olivier Barais

Abstract

To cope with the ever-growing number of programming languages, manufacturers of Integrated Development Environments (IDE) have recently defined protocols as a way to use and share multiple language services (e.g., auto-completion, type checker, language runtime) in language-agnostic environments (i.e., the user interface provided by the IDE): the most notable are the Language Server Protocol (LSP) for textual editors, and the Debug Adapter Protocol (DAP) for debugging facilities. These protocols rely on a proper specification of the services that are commonly found in the tool support of general-purpose languages, and define a fixed set of capabilities to offer in the IDE. However, new languages appear regularly offering unique constructs (e.g., Domain-Specific Languages), and supported by dedicated services to be offered as new capabilities in IDEs. This trend leads to the multiplication of new protocols, hard to combine and possibly incompatible (e.g., overlap, different technological stacks). Beyond the proposition of specific protocols, the goal of this paper is to stress out the importance of being able to specify language protocols and to offer IDEs to be configured with such protocol specifications. We present our vision by discussing the main concepts for the specification of language protocols, and an approach that can make use of these specifications in order to deploy an IDE as a set of coordinated, individually deployed, language capabilities (e.g., microservice choreography). IDEs went from directly supporting languages to protocols, and we envision in this paper the next step: IDE as Code, where language protocols are created or inferred on demand and serve as support of an adaptation loop taking in charge of the (re)configuration of the IDE.
Fichier principal
Vignette du fichier
output.pdf (753.6 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

hal-03107122 , version 1 (12-01-2021)

Identifiers

  • HAL Id : hal-03107122 , version 1

Cite

Pierre Jeanjean, Benoit Combemale, Olivier Barais. IDE as Code: Reifying Language Protocols as First-Class Citizens. ISEC 2021 - Innovations in Software Engineering Conference, Feb 2021, Bhubaneswar / Virtual, India. pp.1-5. ⟨hal-03107122⟩
675 View
355 Download

Share

Gmail Facebook X LinkedIn More