Building a Language Runtime in a Day

Ever wondered how a language runtime like the CLR really works but never had the courage to peruse all of the runtime code on GitHub? Then this hands-on workshop is for you! Come join us for a full day of building a miniature version of the CLR, supporting a reduced Intermediate Language (IL) instruction set with a rudimentary type system. During this workshop, we'll build a loader for small IL-based programs, craft an interpreter for a reduced IL instruction set, and build a basic mark-and-sweep compacting garbage collector. Once we get some trivial programs to run, we'll add on extra features such as instance methods, virtual dispatch, and exception handling. After completing this crash course in language runtimes, many of the once mysterious concepts around instruction sets, control flow, interpreters and JIT compilers, automatic memory management, etc. will have become clear and tangible.

About the speaker

Bart De Smet

Originally from Belgium, Bart relocated to work at the Microsoft headquarters in 2007 after graduating from Ghent University while being a C# MVP. After having worked on WPF and .NET for a few years, Bart focused on reactive programming for quite some time, helping to build Reactive Extensions (Rx) and large scale event processing systems powering various cloud services. After a brief stint in AutoML focusing on Python performance tuning, Bart went on to building next generation distributed systems in the office of the CTO, which have since become foundational pieces of the Azure Base Platform.