DSLs for Fun and Profit


Details
Languages are everywhere I look. C# contains other languages hidden in plain sight as string interpolation, Razor syntax, and LINQ. The JavaScript world has more with a multitude of template languages based on HTML, including Angular, React, and Elm view templates.
Domain Specific Languages (DSL) are built to concisely and clearly define the solution for a very specific problem, such as a template engine. Template engines have their own Domain Specific Languages leveraging declarative programming which allows us to define the desired result without dictating how to get there.
In this session, I will walk you through defining the basic syntax of a Domain Specific Language to be used by a simple text template engine, then through parsing that Domain Specific Language into an Abstract Syntax Tree (AST), and then transforming that tree into a result.
Using this new knowledge, you will be able to create your own Domain Specific Language or to create custom tooling around an existing Domain Specific Language.
Daniel Oliver started software development by modding video games, then programming competitions and intelligent robotics in college. Hobby projects are the definition of "because I can" and the precursor for production usage.

DSLs for Fun and Profit