https://github.com/IUCompilerCourse/Essentials-of-Compilation
Don't take this too seriously, I was just having some fun learning go and rekindling an interest in compilers
notes
- would like to return to chapter 3 for move biasing
- really just a thought exercise, how would https://guenchi.github.io/Scheme/doc/Nanopass%20Framework%20Users%20Guide.pdf fit into a language like go, including static type checks??
- would like to talk about tail call optimization
- would like to talk about register allocation
- https://github.com/golang/go/tree/master/src/cmd/compile
- https://docs.racket-lang.org/nanopass/index.html
- https://github.com/golang/go/wiki/MethodSets
When learning it can feel a little unwieldy to be writing the language because the languages and passes aren't really well defined. If we had a well defined initial language we would have a good idea of what would need to go inbetween the machine code and our source language and we would be able to better plan out the smaller intermediary languages.