[1/3] 下面看看 Common Lisp 相对其他编程语言的 “特别之处”:图1. Acrobat 原始头文件里的一行;图2. 我用正则表达式把它摘出来并翻译成一行宏调用 (图3). 图4. 这个宏调用背后的宏生成了另一个宏,是要在最终代码里调用的(注意代码里复杂的引号、反引号和逗号嵌套写法). 图5. 对图3的宏调用进行宏展开,看到的就是它生成的那个宏的最终内容。图6. 最终代码里的实际调用时的样子(就像一个普通函数)。图7. 对这个实际调用进行宏展开,看到的就是图1中原始C代码一一对应的 Lisp 代码。
lisp系分裂比较多有点可惜,如果common lisp,scheme/racket,clojure天下一家,那应该还是很能打的。
Please Login to reply.
@田春冰河:那些不会写 Common Lisp 的伪 Lisp 程序员才去玩 Scheme 和 Clojure。
@ProfessorX91:不好说吧 elisp时代不就开始分裂了。
@田春冰河:Reply@ProfessorX91:elisp 不是通用编程语言,而且语法上跟 Common Lisp 是一脉的,不能算。即便是我偶尔也要写几行 elisp。