A Language Server for your DSL for Fun and Profit (bobkonf2025) episode artwork

EPISODE · Mar 14, 2025 · 41 MIN

A Language Server for your DSL for Fun and Profit (bobkonf2025)

from Chaos Computer Club - recent events feed · host Hannes Siebenhandl

Domain-specific languages (DSL) are well-studied tools for solving problems specific to a domain. Especially in the Haskell Community, DSLs are quite popular due to parser-combinators and succinct definitions of abstract syntax trees (AST). However, it is often difficult to integrate a particular DSL into any modern IDE. This causes a DSL to be harder to use in practice and negatively affects productivity. Sometimes, developers combat this by implementing plugins that introduce syntax highlighting specific to an editor. However, we argue that it is preferable to use existing infrastructure, such as the Language Server Protocol, which provides out-of-the-box IDE support for most editors. In this talk, we focus on key challenges for implementing a Language Server, as a Language Server simply has different requirements from a parser or an interpreter. We discuss how to approach the design and implementation of a DSL such that we get Language Server support (almost) for free. In particular, we show how to provide advanced IDE features, such as semantics-aware syntax highlighting or automatic refactorings, with minimal effort. To implement this, we augment the AST to retain additional information about the sources, such as parentheses, comments, and whitespace, in a non-intrusive way. Licensed to the public under https://creativecommons.org/licenses/by/3.0/de about this event: https://bobkonf.de/2025/siebenhandl.html

Domain-specific languages (DSL) are well-studied tools for solving problems specific to a domain. Especially in the Haskell Community, DSLs are quite popular due to parser-combinators and succinct definitions of abstract syntax trees (AST). However, it is often difficult to integrate a particular DSL into any modern IDE. This causes a DSL to be harder to use in practice and negatively affects productivity. Sometimes, developers combat this by implementing plugins that introduce syntax highlighting specific to an editor. However, we argue that it is preferable to use existing infrastructure, such as the Language Server Protocol, which provides out-of-the-box IDE support for most editors. In this talk, we focus on key challenges for implementing a Language Server, as a Language Server simply has different requirements from a parser or an interpreter. We discuss how to approach the design and implementation of a DSL such that we get Language Server support (almost) for free. In particular, we show how to provide advanced IDE features, such as semantics-aware syntax highlighting or automatic refactorings, with minimal effort. To implement this, we augment the AST to retain additional information about the sources, such as parentheses, comments, and whitespace, in a non-intrusive way. Licensed to the public under https://creativecommons.org/licenses/by/3.0/de about this event: https://bobkonf.de/2025/siebenhandl.html

NOW PLAYING

A Language Server for your DSL for Fun and Profit (bobkonf2025)

0:00 41:32

No transcript for this episode yet

We transcribe on demand. Request one and we'll notify you when it's ready — usually under 10 minutes.

LIGHTS, CAMERA, SMILE! Creatives Club Media Lights, Camera, Smile, is a podcast for anyone with a dream to share something with the world, out of the overflow of themselves - be it their mind, their heart, their personalities, and much more. Each of us are alive in this moment in time, with an innate ability to have ideas and create various things to benefit both ourselves and the people around us for a reason, and here, you will find the encouragement, the inspiration, and the motivation to do just that. Hosted by Cicily, founder of Creatives Club, she dives into various topics surrounding creativity and business. Exploring entrepreneurship for creatives in a corporate reality, sharing tips and tricks in a media centered company, answering questions regarding what a creative actually is are just a few of the things discussed on this podcast. Be encouraged to create for yourself as Cicily gets vulnerable by pivoting the camera to herself for the first time.To submit questions for Cicily to answer, or have her address certain t The PFN Cincinnati Bengals Podcast Pro Football Network The PFN Cincinnati Bengals Podcast is where you can stay up-to-date with the latest news and analysis on the Cincinnati Bengals! Our hosts, industry experts Jay Morrison and Dallas Robinson, provide weekly coverage of all the latest rumors and updates about the Bengals. Don’t forget to follow the show to receive new episodes directly in your podcast feed and leave a rating and review to let us know your thoughts. Piramidi Club The Bitcoin Butcher La Migliore Pizza di Firenze IT IS WHAT IT IS with SHALLZ - SHALLY ZOMORODI Shally Zomorodi What?  "It is what it is" with ShallZ – Shally ZomorodiWhen? WeeklyHow long? 35 minutesEvery week, Mother of 4, wife, morning TV news anchor and ultimate hostess, Shally Zomorodi talks about life - its up's and downs and how to stay on track in her weekly podcast, ‘It is what it is.’  Known for her high energy, infectious smile and ability to see the cup as half full Shally talks about all things in life and how to work through its challenges. From parenting, marriage, friendships, current events to how to smile when it just seems impossible ‘It is what it is’ is the perfect podcast to help inspire you to dance through the rain.

Frequently Asked Questions

How long is this episode of Chaos Computer Club - recent events feed?

This episode is 41 minutes long.

When was this Chaos Computer Club - recent events feed episode published?

This episode was published on March 14, 2025.

What is this episode about?

Domain-specific languages (DSL) are well-studied tools for solving problems specific to a domain. Especially in the Haskell Community, DSLs are quite popular due to parser-combinators and succinct definitions of abstract syntax trees (AST). However,...

Can I download this Chaos Computer Club - recent events feed episode?

Yes, you can download this episode by clicking the download button on the episode player, or subscribe to the podcast in your preferred podcast app for automatic downloads.
URL copied to clipboard!