Functions(函数) Functions(函数) After the rules of syntax and semantics, the three most basic components of all Lisp programs are functions, variables and macros. You used all thre...
Looping(循环) Looping(循环) Control constructs are the other main kind of looping constructs. Common Lisp’s looping facilities are—in addition to being quite powerful and flexible—...
Breaking Open the Black Box Breaking Open the Black Box Before we look at the specifics of Lisp’s syntax and semantics, it’s worth taking a moment to look at how they’re define...
2.14 函数作为对象 (Functions as Objects) 2.14 函数作为对象 (Functions as Objects) 函数在 Lisp 里,和符号、字符串或列表一样,是稀松平常的对象。如果我们把函数的名字传给 function ,它会返回相关联的对象。和 quote 类似, function 是一个特殊操作符,所以我们无需...
Characters Characters Common Lisp characters are a distinct type of object from numbers. That’s as it should be—characters are not numbers, and languages that treat them as if ...
Experimenting in the REPL(体验 REPL) Experimenting in the REPL(体验 REPL) To try the REPL, you need a Lisp expression that can be read, evaluated, and printed. One of the simplest ...
Wrapping Up Wrapping Up Now, an interesting thing has happened. You removed duplication and made the code more efficient and more general at the same time. That’s often the way...
1.1 新的工具 (New Tools) 1.1 新的工具 (New Tools) 为什么要学 Lisp?因为它让你能做一些其它语言做不到的事情。如果你只想写一个函数来返回小于 n 的数字总和,那么用 Lisp 和 C 是差不多的: ; Lisp /* C */ ( defun sum ( n )...
零基础教程 絮叨 为什么选择 Clojure Clojure 能做什么 为什么 Clojure / Lisp 没有流行 如何部署 Clojure 运行环境 如何运行 Clojure 程序 文档 附录 零基础教程 A language that doesn’t affect the way you think about progra...