I will introduce some practical examples of DSLs:
regular expressions, parser combinators, a tensorflow-like
language to describe vector & matrix computations. We will
use these examples to discuss some advanced topics in domain
specific language construction in Scala:
When do you use applicative and monadic style for DSLs?
When should your DSL be lazy?
How to safely observe sharing (recursive definitions)?
How to make your DSL be extensible?
How do you use Scala’s type system to ensure type safety of a DSL?
Session length
90 minutes
Language of the presentation
English
Target audience
Intermediate: Requires a basic knowledge of the area
Who is your session intended to
People who dabble in functional programming in Scala and who want to get better at writing sophisticated embedded domain specific languages. General and domain-specific library developers.
Speaker
Alexander Konovalov
(Compellon, Analytics Engineer)