為什麼我要選JavaScript作為函數式程式設計的目標? Michael Fogus用200多頁向大家展示了不一樣的Functional JavaScript程式設計方式,可惜Fogus作為ClojureScript編譯器的貢獻者,竟然選擇了Underscore作為函數庫,直接導致無法完全展示JavaScript所能達到的函數式程式設計能力。有趣的是,ClojureScript的作者把ClojureScript的不可變(Immutable)資料結構移植到了JavaScript,這徹底將JavaScript的函數式程式設計提升到用其他函數庫都完成不了的新高度。不僅如此,Mozilla的Sweet.js(github.com/mozilla/sweet.js)更是完成了另一個突破——JavaScript的macro,它雖然不能算是函數式的概念,但也算是Lisp語言的一項獨門絕技了。