The original metacircular evaluator

    Page 13 of the Lisp 1.5 Programmer's Manual, showing the 'evalquote' function written as an m-expr. Basically, you're looking at all of Lisp defined in terms of itself.

    Comments and faves

    1. raganwald (82 months ago | reply)

      Yes, that was the big revelation to me when I was in graduate school—when I finally understood that the half page of code on the bottom of page 13 of the Lisp 1.5 manual was Lisp in itself. These were “Maxwell’s Equations of Software!” This is the whole world of programming in a few lines that I can put my hand over.

      Alan Kay

    2. sketerpot (82 months ago | reply)

      Actually, McCarthy's original Lisp paper in 1960 predates the Lisp 1.5 manual, which was put out in 1962. It contains a metacircular evaluator.

    3. raganwald (82 months ago | reply)

      McCarthy's original Lisp paper in 1960 predates the Lisp 1.5 manual

      Excellent point! Thanks.

    4. Adam Keys, bootload, and kaufmans added this photo to their favorites.

    5. khunyee_fung (80 months ago | reply)

      Our professor gave us this definition and three weeks to implement a Lisp interpreter in C (on a Dec10; that shows my age, eh?). My group, Tim and I, slept about 3 hours every day for that three weeks. The apply function is the tough one; eval is easy.

    6. vruba, BioGeek, gfixler, SKoon, and 5 other people added this photo to their favorites.

    keyboard shortcuts: previous photo next photo L view in light box F favorite < scroll film strip left > scroll film strip right ? show all shortcuts