当你把  xx 当做符号使用时   'xx  ,  这个符号是没有任何函数/变量语义的, 仅仅是一个 符号而已(就像一个string一样) 但你可以对这个string有其他的用法,比如使用它所binding的同名函数.使用它所binding的同名动态变量 (要知道,“代码” 不过是 一串String, 这就是 Macro所做的事) 你把Symbol当成一种可绑定函数.变量的东西就可以了! 可以看到,  上图的 defun inc 和 defmacro inc 的内部实现时一模一样的. 它们其实都…
Ok, Go ahead. 1 (a) (b) (c) (d) 2 注:union 在 Common Lisp 中的作用就是求两个集合的并集.但是这有一个前提,即给的两个列表已经满足集合的属性了.具体的操作过程似乎是对第一个 list 中的每一个元素在第二个 list 中查找,如无则标记一下:待第一个 list 的所有元素在第二个 list 中查完以后将所有标记过的元素放入一个 list 中与第二个 list 进行合并.这意味着,如果刚开始给的两个 list 不完全满足集合的属性,则会有重复出现…
1. 在Common Lisp 眼中,一个符号的symbol-value 和symbol-function 是不一样的,而Scheme对两者不作区分.在Scheme 里面,变量只有唯一对应的值,它可以是个函数,也可以是另一种对象.因此,在Scheme 中就不需要#' 或者funcall 了.Common Lisp 的:(let ((f #'(lambda (x) (1+ x))))(funcall f 2))在Scheme 中将变成:(let ((f (lambda (x) (1+ x))))(…
这是<ANSI Common Lisp>第10章“宏”的习题第6题: 定义一个宏,接受一变量列表以及一个代码主体,并确保变量在代码主体被求值后恢复 (revert)到原本的数值…
第三方软件库: http://download1.rpmfusion.org/free/fedora/releases/25/Everything/x86_64/os/repoview/index.html 原帖http://www.linuxdown.net/install/soft/2016/0303/4903.html 安装vim sudo dnf -y update sudo dnf install vim-enhanced common lisp 原帖:http://www.progr…
这几天开始玩Common Lisp,遇上了一个有意思的问题,CL一般是解释运行,也有实现可以编译生成字节码(fas文件).我正在用的两种CL实现是SBCL和CLISP,前者是我从<实用Common Lisp编程>一书中看来的,CLISP相对于SBCL的特点之一就是CLISP把Lisp编译成字节码文件(这就和Java很类似了,倍感亲切),可是也不能直接编译出机器代码,这让我这个执着于汇编与C语言的感觉非常不爽,想到以前在<Python核心编程>上看到的"sh-bang&qu…
    我们在VS环境中开发的时候,会遇到很多宏定义,这些宏可以应用到代码中,或用于编译.工程选项等设置,总之是我们开发中必不可少的工具,有必要做一个总结.有些宏是C/C++定义的,有些宏是VC环境预定义的.       1.C/C++中的宏          __cplusplus  如果当前编译器为C++,该值为1.     __DATE__  当前源码的编译日期,格式为Mmm dd yyyy.     __TIME__  当前源码的编译时间,格式为hh:mm:ss.     __TIMES…
搭建Common Lisp编程环境的方法有很多种,这里我使用的是最常见的一种:SBCL + Emacs + SLIME. SBCL是Steel Bank Common Lisp的简称,它是Common Lisp的一种高质量的开源实现. SBCL有windows和linux版本可供下载.安装完成后,进入环境后,应该是个星号: * (教程中是"CL-USER>") 理论上就算环境ok了,不过简单验证下总没有坏处: *10(输入) 10(展示结果) *(+ 1 2)(输入) 3(展示结…
Common Lisp第三方库介绍 | (R "think-of-lisper" 'Albertlee) Common Lisp第三方库介绍 一个丰富且高质量的开发库集合,对于实际开发来说不可或缺.同样,一个方便统一的库管理安装工具,也是非常重要的. 对于实际的Common LISP 开发,推荐的组合为:  Emacs + SLIME + ASDF + Quicklisp 下面介绍一些常用的 Common Lisp 第三方库,列表依照 Quicklisp的库列表 数据库存储相关: CL…
小议common lisp程序开发流程 - Ever 17 - 博客频道 - CSDN.NET 小议common lisp程序开发流程 分类: lisp 2011-04-17 20:59 1316人阅读 评论(2) 收藏 举报 lisp程序开发python脚本imageemacs 作者:winterTTr(转载请注明) 最近在测试xml库的功能,于是写了一个下面的小程序: (require 'cxml) (require 'xpath) (defun main() (xpath:do-node-…