What makes Lisp Lisp?

I found this last text repetitive and boring, I think I had understood where Lisp came from and almost everything there was to know about its story in the previous readings and podcasts. The only part of the reading I found interesting was the eval definition function where they showed you how to write the Lisp interpreter in Lisp. The thing with programming using a functional language is that is a complete flip of paradigm, when the data is also the code and you need to differentiate it using quotes.
One of the difference I found in this reading regarding Lisp and Clojure is that in Lisp the empty list represents false and the atom t represents true where as in Clojure we have true to represent true and false or nil to represent false. Also, I noted the differences between the primitive functions in Clojure and in Lisp, where in Lisp they are called weird and in Clojure they have the name of what they do. This last I noted since the podcast about Lisp that explained why the functions where called weirdly in Lisp. The amazing thing about Lisp is that all is made out from seven primitive forms which are quote (to indicate which things must be ignored or not evaluated), atom (which is to see if it is a list or just an element), eq (to evaluate if two things are equal), car (to return the first element of a list), cdr (to return all but the first element of a list), cons (to append things to a list) and cond (to evaluate true or false statements). 
So in Lisp we have a very small language which can grow to a complex one as needed by the programmer. With those primitive elements and the list as primary data structure, you can construct a functional language which can adjust to the need of any programmer. That is what I found in the reading.

Comentarios

Entradas más populares de este blog

Two is more than double of one

Is really functional programming better?