Bril is a cute intermediate language for teaching (think simplified LLVM IR): https://www.cs.cornell.edu/~asampson/blog/bril.html
The idea of providing a standard JSON format to help students write basic passes is really elegant.
miniblog.
Related Posts
I regularly see the phrase "all Xs are Ys, but not all Ys are Xs" in teaching material. Even material for children!
I have to re-read it every time. I very much prefer "Y is a more general category than X" or "X is a subset of Y".
Do people find this phrasing helpful, or is it poor pedagogy?
On teaching Haskell, and which parts of the semantics are tricky for newcomers: https://ciobaca.substack.com/p/pedagogical-downsides-of-haskell
I've realised the big advantage of teaching OO with physical analogies. It's well accepted that OO isn't just about modelling the eworld.
Physical items are great for explaining subtyping.
You can view types as subsets, and Ferrari <: Car <: Vehicle is intuitive.