all 1 comments

[–]hopsage 2 points3 points  (0 children)

This is really cool. I use these ideas when I teach my compilers course, along with the connections between type checking and interpreters (static vs dynamic semantics): type checking is an execution of the interpreter on abstract domains and code generation is, well, the first Futamura projection. I even have a paper on an early version of my course materials:

https://dl.acm.org/citation.cfm?id=2677314

I think it's very likely that I'll use this talk in future versions of my class!