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
Publicar un comentario