Return
Code Less to Code More
DOI:10.1016/j.jss.2025.112554.png)
Abstract
En 中文
Developing editing support for L languages in E editors is complex and time-consuming. Some languages do not provide dedicated editors, while others offer a single native editor. The language server protocol (LSP) reduces the language-editor combinations L×E to L+E, where a single language server communicates with editors via LSP plugins. However, overlapping implementations of linguistic components remain an issue. Existing language workbenches struggle with modularity, reusability, and leveraging type systems for language server generation. In this work, we propose: (i) Typelang, a family of domain-specific languages for modular, composable, and reusable type system implementation, (ii) a modular language server generation process, producing servers for languages built in a modular workbench, (iii) the variant-oriented programming paradigm and a cross-artifact coordination layer to manage interdependent software variants, and (iv) an LSP plugin generator, reducing E to 1 by automating plugin creation for multiple editors. To simplify editing support for language families, each language artifact integrates its own Typelang variant, used to generate language servers. This reduces combinations to T×1, where T=L represents the number of type systems. Further reuse of language artifacts across languages lowers this to N×1, where N<
Keywords:
Software product lines
Feature modularity
Language Server Protocol
Integrated development environments
Software systems architectures
Extensible languages
Domain-specific languages
Neverlang
AI Summary
Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.
Journal
IF:
4.1
Papers:
5.4K
Citations:
8.4K
Organization
No organization information available

