Skip to content
HomeVideos
AllLongsCategoriesPlaylists
BooksBlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    Lecture 7A | MIT 6.001 Structure and Interpretation, 1986

    MIT OpenCourseWare

    3 HN mentions · mentioned in 3 months, 2013–2019

    YouTube

    1:24:38 · 35K views · Apr 8, 2009

    Lecture 7A of the 1986 MIT 6.001 SICP course, with Gerald Sussman presenting the metacircular evaluator, part 1. It shows how a Lisp evaluator can be written in Lisp itself.

    HN commenters cite it as the classic explanation of eval and the meta-circular evaluator.

    Software Engineering & LanguagesCompilers, interpreters & program analysisFunctional programmingUniversity lectures & courses
    1. 1:12:56
      Lecture 1A | MIT 6.001 Structure and Interpretation, 1986MIT OpenCourseWare995K views • 17 years ago
    2. 1:12:56
      Lecture 1A: Overview and Introduction to LispMIT OpenCourseWare421K views • 7 years ago
    3. 58:22
      Lecture 1B | MIT 6.001 Structure and Interpretation, 1986MIT OpenCourseWare116K views • 17 years ago
    4. 1:31:06
      William Byrd on "The Most Beautiful Program Ever Written" [PWL NYC]PapersWeLove367K views • 9 years ago
    5. 1:07:10
      Brian Beckman: Don't fear the Monadjasonofthel33t415K views • 13 years ago
    6. 1:12:10
      Practical Common LispGoogle TechTalks98K views • 19 years ago
    7. 7:10
      SICP: o fim de uma eraComputação Raiz34K views • 4 years ago
    8. 1:07:22
      Invited Talk - Guy SteeleClojureTV39K views • 9 years ago
    9. 47:41
      "Programming Should Eat Itself" by Nada AminStrange Loop Conference43K views • 12 years ago
    10. 34:55
      "Outperforming Imperative with Pure Functional Languages" by Richard FeldmanStrange Loop Conference98K views • 5 years ago
    11. 1:10:16
      Saša Jurić - Parsing from first principles - WebCamp Zagreb 2019WebCamp Zagreb6.3K views • 6 years ago
    12. 56:49
      Escape from the Heap: Low-Level Programming in Common LispArthur Gleckler17K views • 10 years ago
    13. 53:56
      Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojurejasonofthel33t119K views • 13 years ago
    14. 57:38
      Clasp: Common Lisp using LLVM and C++ for Molecular MetaprogrammingGoogle TechTalks52K views • 11 years ago
    15. 1:14:52
      Effective Programs - 10 Years of Clojure - Rich HickeyClojureTV176K views • 9 years ago
    16. 40:20
      "Shen: A Sufficiently Advanced Lisp" by Aditya SiramStrange Loop Conference26K views • 12 years ago
    17. 1:14:51
      Lisp at the Frontier of Computation, by Robert Smith at Rigetti ComputingArthur Gleckler16K views • 8 years ago
    18. 1:28:59
      Clojure for Lisp Programmers Part 1 - Rich HickeyClojureTV25K views • 13 years ago
    19. 1:05:51
      The Functional Programmer's Toolkit - Scott WlaschinNDC Conferences79K views • 7 years ago
    20. 43:31
      Analyzing Programs with Z3Compose Conference24K views • 10 years ago

    3 comments from Hacker News

    1. @olooneyJun 2019· in “Computer Science vs. Computing Science (1999)”

      The self-definition comment is a reference to the common LISP exercise of writing a "meta-circular evaluator"[1] - that is, writing a LISP interpreter in LISP. This is famously done[3] in "Structure and Interpretation of Computer Programs", which is a very popular textbook and MIT course which uses LISP as a teaching language[2]. This can be found for example, in lecture 7 of the SICP lecture series on Youtube[4]. Dijkstra's comment on this is quite acerbic, isn't it? Here is the full quote for easy reference: > [LISP's] promotion of the idea that a programming language should be able to formulate its own interpreter (which then could be used as the language’s definition) has caused a lot of confusion because the incestuous idea of self-definition was fundamentally flawed. I agree to the extent that the exercise of writing a LISP interpreter in LISP is indeed often a very confusing exercise for beginner, partly because writing any interpreter (or compiler) is fairly arcane for a beginner, and partly because keeping track of which parts are in implementation and which parts are in the target language can be made more difficult; also because it's easy to "cheat" and rely on outside language in inappropriate ways. I would recommend using a language you already know well and implementing a moderately simple language as a first exercise to a student. But on the whole the exercise of writing an interpreter in its own language - or alternatively writing a self-hosting compiler[5] -

      CitesView on HN
    2. @GaroofApr 2013· in “_why's complete printer spool as one book [pdf]”

      (I like _why and I don't have any problem with the attention he receives or anything. But I did kind of agree with some of the "that's rubbish" responses to the "first" stuff.) I'm reasonably sure I won't agree with you on any definition of art. But, uh, here's some stuff. I may-or-may-not think of some of it as art. I do think it's stuff that keeps the coding world from being some dreadful place of "craftsmanship" and "professionalism" and things. The miniKanren presentations are wonderful. They're all "and now let's run this stuff backwards. Because because." [LINK] Meta-circular evaluators. Page 13 of [LINK] this video [LINK] ("After completing the preceding exercise, use the interpreter to run a copy of the interpreter, and use the copy to run another copy of the interpreter. Repeat this process to see how many levels deep it will go before the system grinds to a halt." :D) SICP opens with this: [LINK] I think it's lovely. [LINK] "One of Dijkstra's sidelines was serving as Chairman of the Board of the fictional Mathematics Inc., a company that he imagined having commercialized the production of mathematical theorems in the same way that software companies had commercialized the production of computer programs. He invented a number of activities and challenges of Mathematics Inc. and documented them in several papers in the EWD series." Also obfuscated code and some esolang stuff, I guess. I remember some competition that was about creating and hiding some bug that did some p

      CitesView on HN
    3. @mtreis86Oct 2018· in “Ask HN: What's your favorite elegant/beautiful algorithm?”

      My favorite is the FLAC algorithm. It's fairly simple to explain - take a signal input, pattern match a generative signal that closely matches the original or part of it, and the output is a combination of that generative code and the difference between it and it and the input. Second favorite is the LISP REPL. Specifically the Eval function, thanks to this classic video of Sussman this video

      CitesView on HN