On 18 Jul 2011, at 21:26, Evgenii Rudnyi wrote:

On 18.07.2011 14:21 ronaldheld said the following:
Bruno:
   I do not know LISP. Any UD code written in Fortran?
                    Ronald


Very good book to learn LISP is

http://mitpress.mit.edu/sicp/full-text/book/book.html

A great classic book indeed. Very good indeed.

For the beginners, "The Little Lisper" by Daniel P. Friedman is a chef- d'oeuvre of pedagogy.
I don't find any version online, alas.
Here are reference for its third edition (but it looks out of print!):

http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=4879



Just click Next page, read and so on. By the way, List is much nicer than Fortran. I have learned Lisp after Fortran - C - C++ and I should say that I love Lisp (well, I prefer Mathematica - it is a Lisp with a human face).

I guess we have a different conception of what is a human face :)
I do have problems with the syntax of Mathematica, but it might be that I have never succeeded in compiling it in the right way. It might be due also to the fact that I use cheap versions, I dunno.




Yet, the real programmer must start with Lisp. If she will be scared by too many brackets, for example

(define (fast-expt b n)
 (cond ((= n 0) 1)
       ((even? n) (square (fast-expt b (/ n 2))))
       (else (* b (fast-expt b (- n 1))))))

then she should forget about programming.

Of course, the brackets are what makes the syntax of Lisp so transparent. Indeed the programs have the structure of the data- structures handled naturally by Lisp (the lists). This makes meta- programming very easy. The "Gödel number" of (define ...) is just (quote (define ...)). Together with its functional nature, it makes Lisp particularly easy for (third person) self-reference. Lisp is very close, in spirit, with the combinators or the lambda calculus, on which I have talked about regularly.

Bruno

http://iridia.ulb.ac.be/~marchal/



--
You received this message because you are subscribed to the Google Groups 
"Everything List" group.
To post to this group, send email to everything-list@googlegroups.com.
To unsubscribe from this group, send email to 
everything-list+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/everything-list?hl=en.

Reply via email to