Please explain some of Paul Graham's points on LISP

Posted by kunjaan on Stack Overflow See other posts from Stack Overflow or by kunjaan
Published on 2010-04-25T22:30:32Z Indexed on 2010/04/25 22:33 UTC
Read the original article Hit count: 821

I need some help understanding some of the points from Paul Graham's article http://www.paulgraham.com/diff.html

  1. A new concept of variables. In Lisp, all variables are effectively pointers. Values are what have types, not variables, and assigning or binding variables means copying pointers, not what they point to.

  2. A symbol type. Symbols differ from strings in that you can test equality by comparing a pointer.

  3. A notation for code using trees of symbols.

  4. The whole language always available. There is no real distinction between read-time, compile-time, and runtime. You can compile or run code while reading, read or run code while compiling, and read or compile code at runtime.

    • What do these points mean
    • How are they different in languages like C or Java?
    • Do any other languages other than LISP family languages have any of these constructs now?

© Stack Overflow or respective owner

Related posts about lisp

Related posts about Scheme