Skip to content
HHackerTube.videoSurprise me

Lecture 7A: Metacircular Evaluator, Part 1

Lecture 7A: Metacircular Evaluator, Part 1 on HackerTube: recommended by 1 Hacker News commenter across 1 month, 2020–2023.

MIT OpenCourseWare

lecture · intermediate · evergreen

Open on YouTube

Lecture 7A from MIT 6.001 (SICP) by Abelson and Sussman introduces the metacircular evaluator, a Scheme interpreter written in Scheme. It shows how evaluating a program is itself a program.

Why Hacker News recommends it

HN holds the SICP lectures up as joyful classics, and this lecture as the moment the evaluator is revealed.

people recommended it
1
separate months
1
strong recommendations
1
discussed on HN
2020–2023
“But mostly it just makes me happy - it's infectious and weird.”
— mrspeaker, Jun 2020, in “MIT 6.001 Structure and Interpretation (1986) [video]”

What HN commenters said

3 Hacker News comments link this video. Each one links back to its thread.

mrspeakerJun 2020Strongly recommends

I re-watch this course every bunch of years, and every time I get something different from it. But mostly it just makes me happy - it's infectious and weird. Especially the "revelation" (spoiler!) ▶ this video

in “MIT 6.001 Structure and Interpretation (1986) [video]” · View on HN

ufoSep 2023Cites it

"We're getting really close to the spirit of the computer at this point, so I have to show a certain amount of reverence and respect" ▶ this video

in “Programming Language Inventor or Serial Killer?” · View on HN

prezjordanJul 2021Cites it

I learned best in Scheme because you don't need to parse your input and can just evaluate a tree[0] (Parsing is, in my opinion, the most boring part about writing an interpreter!) Chapter 7 of Crafting Interpreters lays out how an evaluator works in a pretty clean way [1]. I've also blogged about evaluating ASTs in JavaScript [2] Lastly, Gary Bernhardt took it a step further and instead of "evaluating" code, "compiled" it to JavaScript (this tutorial uses Ruby) [3]. Very much a mind-blown moment for me. Have fun!! Writing interpreters remains one of my favorite things to do when learning a new programming language. [0] ▶ this video [1] [link] [2] [link] [3] [link]

in “Ink programming language” · View on HN

Topics & tags