Internal DSL design in Scala - Alessandro Lacava
Channel: NoSlidesConf
Date: 2017-12-23

A domain-specific language (DSL) is a language that you design with a specific domain in mind.
There are two types of domain-specific languages (DSLs): external and internal.
The former implicates — in the simplest case — parsing a string into the programming language syntax. The latter, on the other hand, involves implementing a language within your own programming language. 
Quoting Martin Fowler, "Internal DSLs are particular ways of using a host language to give the host language the feel of a particular language".
In this session you'll see how to implement a simple but complete internal DSL in Scala. You'll see that Scala syntax has some important features that makes it a DSL-friendly language.