Building a Static Type-Inferring Compiler
Richard Feldman
This Workshop's Online Chatroom is Currently Open!
This workshop has ended. Check back soon for the recording!
You can watch a replay of this workshop!
Key Takeaways
By participating along with us in the workshop, you'll learn:
- Understand how type checking and type inference work
- Learn how compilers can statically detect naming errors
- See how to build compiler-related tools like a code formatter
- Learn how a compiler can use static types to generate efficient machine code
Is This Workshop for Me?
This course is for experienced programmers. It uses (very basic) JavaScript as the language for implementing the compiler, so if you want to do the exercises, you’ll need to be able to write JS. The course also starts with a compiler that turns source code into data structures, so although the course doesn’t require that you know how to do that, it also won’t be covering how to do it.
Workshop Details
In this course, you’ll learn how to build a static type-checker and binary machine code generator! Along the way, you’ll learn how to statically detect naming errors, as well as the basics of making a code formatter. This course doesn’t cover how source code gets parsed, or how interpreters work, but other courses cover those concepts (such as the “Building Your Own Programming Language” course).
Any Prerequisites?
- Significant programming experience (in any language)
- Knowing how to write JavaScript on a basic level, because the examples and exercises use JavaScript.
Attend Online Live and in Full HD
You're Registered to Attend Online!
You'll receive additional details and a reminder via email as the event draws near.
Building a Static Type-Inferring Compiler
Event Details
What
- One Full Day Workshop Session
- Replay Videos (available immediately)
When
- April 3, 2025 - 9:30am to 4:30pm Central Daylight Time
Where
- Option 1: Attend online on our full HD live stream
- Option 2: Attend in-person at HQ in Minneapolis, MN
Daily Schedule
- 9:30AMIntroduction
- 10:00AMTraversing the AST
- 10:30AMName Resolution
- 11:30AMType Inference
- 12:00PMLunch
- 1:00PMConstraint Generation
- 2:00PMType Solving
- 3:00PMMachine code generation
- 4:00PMWrap-up
Your (Awesome) Instructor
Richard Feldman
Richard is the creator of the Roc programming language, the host of the Software Unscripted Podcast, and the author of “Elm in Action” from Manning Publications. He’s written a lot of JavaScript, dating back to the pre-jQuery days, but since 2015 has spent more time writing Elm, Rust, and Roc. Over the years he’s created several popular Elm packages, including elm-css, elm-test, and elm-json-decode-pipeline; the JavaScript seamless-immutable library; and a fully-featured programming language compiler in Rust.
Check out all of our upcoming workshops!
Workshops happen throughout the year, and are all included with membership.