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 this talk we'll see how to model a tree structure in Scala, take both imperative and functional approaches to tree traversal algorithms, and do some ASCII art at the same time.
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 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 go through a couple of these projects, and share some of what they've taught me, as well as how their legacy affected other projects in the ecosystem. And who knows, maybe you'll get inspired to try something crazy with Scala too?