Guild
Guilds
Events
Presentations
Guilds
Events
Presentations
Sign In
Sign Up
Dark Mode
Primary Photo for Jurgen Vinju

Jurgen Vinju

User
Presentations
Events
Guilds
User
Presentations
Events
Guilds
Other Presentations
Cover Photo for Rapid Prototyping of Language Servers with Rascal, VScode, and Gitpod.

Rapid Prototyping of Language Servers with Rascal, VScode, and Gitpod.

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.

Primary Photo for Jurgen VinjuJurgen Vinju
Cover Photo for TBC

TBC

Primary Photo for Jurgen VinjuJurgen Vinju
Primary Photo for Jurgen Vinju

Jurgen Vinju

User
Presentations
Events
Guilds
User
Presentations
Events
Guilds
Other Presentations
Cover Photo for Rapid Prototyping of Language Servers with Rascal, VScode, and Gitpod.

Rapid Prototyping of Language Servers with Rascal, VScode, and Gitpod.

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.

Primary Photo for Jurgen VinjuJurgen Vinju
Cover Photo for TBC

TBC

Primary Photo for Jurgen VinjuJurgen Vinju

Guild

DocsTermsPrivacy

Get in touch!

hi@guild.host