The "Language Server Protocol" (LSP) is a "don't call us, we'll call you" plugin mechanism for arbitrary programming language support for IDEs such as VScode. The protocol clearly separates the "what" (syntax, static semantics, dynamic semantics, refactorings) from the "how" (scheduling asynchronous jobs, interprocess communication, caching, (de)serialization, visualization, UI interactions, editors) in IDE construction.
In this talk, we demonstrate how to construct an LSP server for your own language, be it a programming language or a domain-specific language. We use the Rascal meta-programming language, which allows us to express programming language syntax and semanticson the abstraction level of the language, without even thinking about lower-level implementation details. Such a language prototype canbe wired directly into a "parametric" LSP (one that works for all languages made in Rascal). In other words, only the "what" is left,and the "how" has been completely automated.
Rascal, LSP, and VScode are a potent combination for designing and deploying your own languages, but when we add Gitpod to the mix,the languages really come alive immediately. We demonstrate a Logo-like programming language designed for high school students, one they can extend and adapt themselves, to run directly in the browser with some nice visual effects.
Platform Sponsors

Torc is a community-first platform bringing together remote-first software engineer and developer opportunities from across the globe. Join a network that’s all about connection, collaboration, and finding your next big move — together.
Join our community today!

Don't let broken lines of code, busted API calls, and crashes ruin your app. Join the 4M developers and 90K organizations who consider Sentry “not bad” when it comes to application monitoring. Use code “guild” for 3 free months of the team plan.
https://sentry.io
The "Language Server Protocol" (LSP) is a "don't call us, we'll call you" plugin mechanism for arbitrary programming language support for IDEs such as VScode. The protocol clearly separates the "what" (syntax, static semantics, dynamic semantics, refactorings) from the "how" (scheduling asynchronous jobs, interprocess communication, caching, (de)serialization, visualization, UI interactions, editors) in IDE construction.
In this talk, we demonstrate how to construct an LSP server for your own language, be it a programming language or a domain-specific language. We use the Rascal meta-programming language, which allows us to express programming language syntax and semanticson the abstraction level of the language, without even thinking about lower-level implementation details. Such a language prototype canbe wired directly into a "parametric" LSP (one that works for all languages made in Rascal). In other words, only the "what" is left,and the "how" has been completely automated.
Rascal, LSP, and VScode are a potent combination for designing and deploying your own languages, but when we add Gitpod to the mix,the languages really come alive immediately. We demonstrate a Logo-like programming language designed for high school students, one they can extend and adapt themselves, to run directly in the browser with some nice visual effects.
Platform Sponsors

Torc is a community-first platform bringing together remote-first software engineer and developer opportunities from across the globe. Join a network that’s all about connection, collaboration, and finding your next big move — together.
Join our community today!

Don't let broken lines of code, busted API calls, and crashes ruin your app. Join the 4M developers and 90K organizations who consider Sentry “not bad” when it comes to application monitoring. Use code “guild” for 3 free months of the team plan.
https://sentry.io
Get in touch!
hi@guild.host