- 手艺 tags:
- lisp published: true comments: true
还是关于spark的,一石激起千层浪,每个人心中都有一个spark。其实spark脚本刚出来的时候问题很多,但是就是因为产生了共鸣,众人拾柴pull request多。像redis的作者antirez也忍不住自己用c写了一个aspark。
说完了别人的,那么来看看我的:clspark,common-lisp的spark。原本是打算用clojure写,但是想到jvm的启动速度,把这个机会留给我的第一个common lisp程序吧。
其实很简单。
common lisp的核心库里没有split,所以这里从cl-cookbook拷贝了一个split的实现,坦白说我还看不太懂这个loop的写法。loop是common lisp中最尴尬的form,因为他的形式太多。这点在clojure中是不存在的。比较一下就能发现,在语言层面,clojure是相对现代得多的lisp方言。