<> 学习笔记一

Practical Common Lisp


LISP 最重要的一种运行模式之一:REPL

That endless cycle of reading, evaluating, and printing is why it's called theread-eval-print loop, or REPL.

第一个LISP程序: 在REPL模式下运行LISP 表达式:(+ 1 2)

LISP先READ (+ 1 2)
        再EVALUATE
     然后PRINT: 3

比较奇怪的是操作符在操作数之前,整个表达式用括号包起,所以可以在LISP源码中看到无数头晕的括号。

为什么要把操作符放在前面呢? 有两个好处:
一、 操作符代表了对后面一批操作数的操作,比如:
 (+ 1 2 3 4 5) 
等价:1 + 2 + 3 + 4 + 5
比普通方式更简洁,而且没有歧义。

二、可以把表达式写一个天然的二叉树。

看这样的例子:  (+ (* 2 (- 5 2)) (/ 6 3))
如改写成这样就不会头晕了:
(+ (* 2
         (- 5
            2))
     (/ 6
        3)
)
天生就是一棵横着生长的树,酷吧。




你可能感兴趣的:(lisp,printing)