Hacker News new | ask | show | jobs
by dmunoz 4426 days ago
There is also SICP Chapter 4: Metalinguistic Abstraction. More precisely, 4.1 The Metacircular Evaluator [0]. Chapter 5 is about compiling to a toy register machine, as well.

I'm a big fan of the approach taking in Programming Languages: Application and Interpretation (PLAI). The Brown course from 2012 has video lectures available [2]. This one uses what is very close to Racket as the implementation language. It's typed, and called plai-typed.

The course these days uses the later chapters of Programming and Programming Languages (PAPL). This uses a new language, Pyret [3]. It's a bit more clear, due to the implementation language and source language having obviously different syntax, compared to plai-typed vs. the s-expression based language implemented.

[0] https://mitpress.mit.edu/sicp/full-text/book/book-Z-H-26.htm...

[1] http://cs.brown.edu/courses/cs173/2012/book/

[2] http://cs.brown.edu/courses/cs173/2012/Videos/

[3] http://www.pyret.org/