To understand how a super simple compiler works by going through the code in the repo below, and transforming it to TypeScript.
Creating an extensive type system for the stages of the compiler will help me understand what actually happens in each stage.
Hopefully, creating a type system for the compiler will allow me to visualize everything better and maybe teach it as well.
A really small compiler that turns Lisp-like code
(add 1 2) into C-like code
Original GitHub Repo: