Skip to content
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
Cannot retrieve contributors at this time

#Can DSL be human ?

Katrin Shechtman (katrinsh)


They say DSLs are a powerful Scala feature. They say it's surprisingly easy to create DSLs in Scala. Aye, but can DSL by human? Can we use Scala to create a statically typed human interaction? What are Scala limits of supporting any kind of domain? Talk with no type theory concepts, but with a twist


Scala syntax and its type system are very rich comparing to many other programming languages. Add Scala strong support of DSLs to it and you get the world where it is tough at times to follow who-is-who and how to use it. For beginners this talk will aim to advise how to navigate the apparent Scala complexity, demystify it if you will, for seasoned developers this talk will showcase unorthodox but somewhat very human DSL example hoping to emphasize importance of human element in DSL creation.


Katrin has been a Scala functional junkie since 2012 and is daily using Scala at PaytmLabs. She spends too much free time on unsolicited coding and is a proud Torontonian Scala fighter and co-organizer of Toronto Scala meetup.