The Roots of Lisp
This week we made an analysis on the article “The Roots of Lisp” by Paul Graham. I thoroughly enjoyed this article because for mi it’s like an origin story for the most powerful programming languages out there. And it also makes a point of how by understanding the past of this language, you are also understanding the future of programming languages. In this article, Graham tries to explain how the first published version of Lisp works by tearing its basic functions and attributes apart and explaining each of them by separate. First he starts with the seven primitive functions (quote, atom, eq, cons, car, cdr and cond), and show how each of this functions perform super basic operations on the attributes that are passed to them. It’s very interesting to see that every operation that you want Lisp to perform can be done with just combinations of this primitive functions. Then he tells us about the notation for describing our own functions, and how this notation allows us t