Live Coding — Session 6: CEK Machines
Edward Kmett
Implementing a CEK machine in Haskell in incrementally more typed fashions. A CEK machine is a sort of standard virtual machine model for implementing interpreters using small step semantics. At the end we touch briefly on Futamura projections and big-step semantics.
Untyped CEK: https://gist.github.com/ekmett/f081b5e36bac3fed1ea6b21eb25327c6
Typed CEK: https://gist.github.com/ekmett/ac2bef9de19881d6286044a06936dd55
Matt Might on CEK Machines in Haskell: http://matt.might.net/articles/cek-machines/
Dan Piponi on Futamura Projections: http://blog.sigfpe.com/2009/05/three-projections-of-doctor-futamura.html
Paul Chiusano on Unison's Runtime: https://www.youtube.com/watch?v=knqlWboqf_U -- Watch live at https://www.twitch.tv/ekmett