Clase 6 -- “The Roots of Lisp”

 “The Roots of Lisp”


I found the initial introduction of the article very simple and concrete, they present the basic functions of the LISP language in a self-contained and comprehensible way. As mentioned in the introduction it is quite amazing that the whole lisp languages are based on only these seven primitive operations. (quote, atom, eq, car, cdr, cons, and cond). This basic operation is the whole foundation of the LISP language this is what makes it so special and approximates this language to a more mathematical sense than other actual languages. This is what gives a very bright future to Lisp-like languages in the future.

After this, the author presents the definition for function in LISPS. For this, he presents 2 functions lambda and label for recursive functions. After this, the author procedures to create several more functions based on these 2 basic notations. Also, functions start building in newly defined functions extremely fast, and just like this some of the most common functions we know today started to take form. 

But for sure the author holds the best for the end, and this is constructing an interpreter for LISP, on LISP! I will not get into all the detail of how this famous eval function is created and is able to evaluate all the primitive functions we talked about above. But what is for sure is that this capability is something unique of any other programing language.

Even as the original eval function has some very important parts of a current programing language missing, this can be implemented with very few more lines of code. So, I agree with the author that LISP is not something that was not invented by McCarthy if not discovered. And as mathematics some discoveries we find to be useful only hundreds of years after they were discovered. So, we are just starting to see our current languages move to a more LISPY type of operation.


Comentarios

Entradas más populares de este blog

Clase 5 - Dick Gabriel on Lisp

Clase 4 The Secret History of Women in Coding