SET can set the value of symbols;   SETQ can set the value of variables;   SETF is a macro that will call different function depending on what was called as its first argument.   examples   (set (quote l) '(1 2 3)) (1 2 3)     (set l '(1 2 3)) Failur…
Difference between LET and LET* in Common LISP   LET   Parallel binding which means the bindings come to life at the same time and they do not shadow each other. The values are effective inside LET and they are undefined outside LET. Just like local…
原文:Lisp Style Tips for the Beginner 本篇文章是一篇非正式的摘要,旨在帮助新手写出高效.易读的Lisp代码. 1 赋值   1.1 避免使用eval.赋值是Lisp内置的流程,所以你几乎没有任何理由自己调用它.如果你使用了它,那么请停下来并且重新思考一下你的问题,因为你解决问题的方法一定是错的. 1.2 熟悉宏.它是Lisp的一个重要特性,但是一个实现的很差的宏可以引起很严重的错误,而且对新手来讲很难解决.在你理解Lisp的解释器工作之前避免使用宏.绝不要编写宏…
Chapter 1: Building Abstractions with Procedures 2015-09-29 016 Preface of this chapter QUOTE: The acts of the mind, where in it exerts its power over simple ideas, are chiefly these three ...... (John Locke, An Essay Concerning Human Understanding).…
在Lisp中,如果我们希望对一个变量赋值,可以使用set函数,用法如下: (set ‘my-value "my string") 上面的代码是对变量my-value进行赋值,值是"my String".注意其中的'my-value前面是有一个单引号的. 我们知道,在Lisp中,'my-value其实是(quote my-value)的简写,所以上面的set函数代码也可以写成这样: (set (quote my-value) "my string"…
此教程是我花了一点时间和功夫整理出来的,希望能够帮到喜欢Lisp(Common Lisp)的朋友们.本人排版很烂还望多多海涵! <Lisp简明教程>PDF格式下载 <Lisp简明教程>ODT格式下载 具体的内容我已经编辑好了,想下载的朋友可以用上面的链接.本人水平有限,如有疏漏还望之处(要是有谁帮我排排版就好了)还望指出!资料虽然是我整理的,但都是网友的智慧,如果有人需要转载,请至少保留其中的“鸣谢”页(如果能有我就更好了:-)). Lisp简明教程 整理人:Chaobs 邮箱:c…
Scheme and Common Lisp use different names for some of the basic system functions. Many Lisp programs can be translated to the other dialect simply by changing these names (or by providing the existing names as macros or functions). Compatibility pac…
给Lisp程序员的Python简介 作者:Peter Norvig,译者:jineslong<zzljlu@gmail.com> 这是一篇为Lisp程序员写的Python简介(一些Python程序员告诉我,这篇文章对他们学习Lisp也有帮助,尽管这不是我的本意).基本上,Python可以看作一个拥有"传统"语法(Lisp社区称之为"中缀"或者"m-lisp"语法)的Lisp方言.一个来自comp.lang.python的帖子说到&qu…
MAC 下用 Common Lisp 调试 OpenGL 程序 环境搭建 运行环境: OSX 10.11.3 EI Capitan Common Lisp: SBCL 使用 SBCL, 首先要安装这几个库 quicklisp, cl-opengl, cl-glu, lispbuilder-sdl. 先安装好 quicklisp, 再用它来安装其他库. 安装过程如下. 安装 quicklisp 先安装 quicklisp Air:~ admin$ cd code-staff/ Air:code-s…
一 .quote lisp 使用s-expr表示数据和代码,通常会将第一项作为函数,而将后续元素当做参数传给第一项进行计算.可以通过quote来进行其他解析,quote可用(‘)表示: ( + 1 1) 2 ‘(+ 1 1) (+ 1 1) 二 .反引号(·) (·)按键(~)为同一个键盘按键.作用和quote差不多,但可以使其中部分字符串保留原解析,需要使用,放在需要保留原解析的字符串之前. `(+ 1 ,(+ 0 1)) (+ 1 1) 三. #’ 该操作符表示对函数的引用 四.控制结构 d…