In this talk, I will show you how to create a programming language from scratch.

Programming languages are a large amount of our day to day work and, for some of us, our hobbies. And I am very much of the opinion that in order to fully understand our tools, we must be able to make them ourselves.
In this talk, I will show you how to create a programming language from scratch. You will come away from this with a deeper understanding of, and insights on, your tools. It will also teach you what you need to write powerful DSLs, which in my experience can be an absolute game changer when maintaining software whose purpose I'm not an expert on, but I do have access to experts.
In our talk, we will introduce a novel approach to system design— TypeOps — in which the application and infrastructure layers are fused to provide unprecedented safety and productivity for Scala teams.
In this presentation you will learn the source of your issues, and a third way - sanely-automatic derivation which is fast to compile, fast to run, and easy to debug by its users.
In this talk, I'll walk you through coding and design practices I've developed over the years, whilst onboarding new graduates into world of Scala (be it typelevel based API, Spark based ETL, or ML pre and post-processings), and how I made the process easier for people who didn't have much Scala experience beforehand.
In this talk, I'll look at the different uses to which tagless final is put to, and see what we can learn about when it is useful and when it just gets in the way.