3. What is clojure?A dynamic programming language for JVMClojure is a LispClojure is functionalSupporting ConcurrencyDesigned for the JVMHistory3 years in development,released 10/2007Authror: Rich HickeyHomepage: http://clojure.org3
4. Clojure is a LispClojure是Lisp的一种方言,就像scheme、common lisp也是Lisp的方言一样。Clojure同样也是Homoiconicity(同像性)Homoiconicity:编程语言的一种属性,是指该语言的基本表现形式本身同时也是该语言自身的数据结构。Homoiconicity使得元编程更容易Code vs. Data小核心Sequences抽象宏(macro)非OO模型4
12. Symbols可以理解成变量,绑定特定的值user=> a java.lang.Exception: Unable to resolve symbol: a in this context (NO_SOURCE_FILE:0)user=> (def a 1) #'user/a user=> a 1user=> (let [a 1] a) 1user=> (binding [a 2] a) 22010-08-10淘宝内部分享-伯岩12
14. Special forms(def name init-value?) 定义全局变量(if test then-expr else-expr)条件语句(quote form)返回不会被执行的form(fn name? ([params* ] exprs*)+)定义函数其他:let loop recur do new . throw try set! var14