The Structure and Interpretation of the Computer Science Curriculum:
https://cs.brown.edu/~sk/Publications/Papers/Published/fffk-htdp-vs-sicp-journal/paper.pdf
Discusses how to fit functional programming into a curriculum, the importance of tooling, and a fascinating discussion of SICP's strenghts and weaknesses as a first text book.
miniblog.
Related Posts
I keep thinking about the parallels between type checkers and abstract interpretation.
E.g. abstract interpretation saying "this is one of two values, but I don't know which" feels very much like type checking a boolean.
Have any tools taken advantage of this?
Day 1 at @poplconf had a bunch of interesting talks at VMCAI (Verification, Model Checking, and Abstract Interpretation). https://popl20.sigplan.org/home/VMCAI-2020
Thread.
Idle thought: you can view a type system as just an abstract interpretation of code. `x = 1` can be abstracted as assuming that x is a number, then checking that numbers are appropriate wherever x is used.