Embedding of external DSLs in Scala: why and how! - Juan Manuel Serrano Hidalgo | Lambda Days 2024
✨ This talk was recorded at Lambda Days in June 2024. If you're curious about our upcoming event, check https://lambdadays.org ✨ Sooner or later, you'll find yourself wanting to create your own domain-specific language or embed an external DSL into your functional language of choice. This presentation delves into the motivations behind this choice and offers practical guidance on how to achieve it. Specifically, it will demonstrate the implementation of the syntax, semantics, and type system of DSLs using the tagless-final style, along with some of the latest Scala 3 features: extension methods, match types, union types, polymorphic function types, structural types, macros, and more. Real-world examples will be drawn from the Scala embedding of the command-line JSON quer language, jq. Let's keep in touch! Follow us on: 💥BlueSky: https://bsky.app/profile/lambdadays.bsky.social 💥LinkedIn: https://www.linkedin.com/company/lambda-days 💥Facebook: https://www.facebook.com/lambdadays 💥Mastodon: https://genserver.social/codesync 💥Twitter: https://twitter.com/LambdaDays