Lecture 7A: Metacircular Evaluator, Part 1
MIT OpenCourseWare1 HN recommender · recommended in 1 month, 2020-2023
32K views · 7 years ago · lecture · evergreen
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.
HN holds the SICP lectures up as joyful classics, and this lecture as the moment the evaluator is revealed.
1:24:38Lecture 7A | MIT 6.001 Structure and Interpretation, 1986
MIT OpenCourseWare
35K views • 17 years ago
1:12:56Lecture 1A: Overview and Introduction to Lisp
MIT OpenCourseWare
420K views • 7 years ago
58:22Lecture 1B | MIT 6.001 Structure and Interpretation, 1986
MIT OpenCourseWare
116K views • 17 years ago
1:12:56Lecture 1A | MIT 6.001 Structure and Interpretation, 1986
MIT OpenCourseWare
995K views • 17 years ago
1:07:10Brian Beckman: Don't fear the Monad
jasonofthel33t
415K views • 13 years ago
1:31:06William Byrd on "The Most Beautiful Program Ever Written" [PWL NYC]
PapersWeLove
367K views • 9 years ago
1:07:22Invited Talk - Guy Steele
ClojureTV
39K views • 9 years ago
47:41"Programming Should Eat Itself" by Nada Amin
Strange Loop Conference
43K views • 12 years ago
7:10SICP: o fim de uma era
Computação Raiz
34K views • 4 years ago
1:12:10Practical Common Lisp
Google TechTalks
98K views • 19 years ago
34:55"Outperforming Imperative with Pure Functional Languages" by Richard Feldman
Strange Loop Conference
98K views • 5 years ago
1:00:341. Introduction, Finite Automata, Regular Expressions
MIT OpenCourseWare
626K views • 5 years ago
1:10:16Saša Jurić - Parsing from first principles - WebCamp Zagreb 2019
WebCamp Zagreb
6K views • 6 years ago
1:28:59Clojure for Lisp Programmers Part 1 - Rich Hickey
ClojureTV
25K views • 13 years ago
1:30:45The Simple Essence of Automatic Differentiation - Conal Elliott
Microsoft Research
17K views • 8 years ago
53:56Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojure
jasonofthel33t
119K views • 13 years ago
40:20"Shen: A Sufficiently Advanced Lisp" by Aditya Siram
Strange Loop Conference
26K views • 12 years ago
56:49Escape from the Heap: Low-Level Programming in Common Lisp
Arthur Gleckler
17K views • 10 years ago
1:13:10Parsing with Derivatives
Stanford
13K views • 15 years ago
1:05:51The Functional Programmer's Toolkit - Scott Wlaschin
NDC Conferences
79K views • 7 years ago
3 comments from Hacker News
"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
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
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