"The Roots of Lisp” is an article written by Paul Graham in 2002. In the article, the writer talks about how John McCarthy worked with simple operations and notations, which later would become Lisp. Just as a reminder, Lisp is a programming language and it stands for "List Processing".
According to Paul Graham, there have been only two consistent models of programming: the C model and the Lisp model. He also tells that new programming languages in the past twenty years would be taking the C model of computing and add functions taken from the Lisp model, like runtime typing and garbage collection. The evolution in computer's performance and hardware has made that the new programming languages move to the Lisp model.
In the article, Paul Graham explains the bases in which Lisp was created using the rules of John McCarthy. The writer mentions that Lisp can be written in itself. First, we have the seven primitive operators: quote, atom, eq, car, cdr, cons y cond. Then, he talks about the functions which are expressed with parameters and expressions.
An expression whose first element is another expression is called a function call, meaning that the parameters can be used as operators or as arguments in expressions. Function calls allow us to express new functions in terms of the primitive operators like null, and, not, append, pair and assoc.
However, the most powerful function is eval which can build the entire language in just a few lines of code, and it is because the data are made out of the same data structures...or in other words, thanks to the property of recursion. Graham is responsible for breaking down the entire function and explain it in detail. He also mentions that if we understand eval, we will be probably understanding the main computational model in the future.
According to Paul Graham, there have been only two consistent models of programming: the C model and the Lisp model. He also tells that new programming languages in the past twenty years would be taking the C model of computing and add functions taken from the Lisp model, like runtime typing and garbage collection. The evolution in computer's performance and hardware has made that the new programming languages move to the Lisp model.
In the article, Paul Graham explains the bases in which Lisp was created using the rules of John McCarthy. The writer mentions that Lisp can be written in itself. First, we have the seven primitive operators: quote, atom, eq, car, cdr, cons y cond. Then, he talks about the functions which are expressed with parameters and expressions.
An expression whose first element is another expression is called a function call, meaning that the parameters can be used as operators or as arguments in expressions. Function calls allow us to express new functions in terms of the primitive operators like null, and, not, append, pair and assoc.
However, the most powerful function is eval which can build the entire language in just a few lines of code, and it is because the data are made out of the same data structures...or in other words, thanks to the property of recursion. Graham is responsible for breaking down the entire function and explain it in detail. He also mentions that if we understand eval, we will be probably understanding the main computational model in the future.
Article: P. Graham (2002). The Roots of Lisp. Recovered from http://34.212.143.74/s201913/tc2006/roots_of_lisp.pdf
Comentarios
Publicar un comentario