当我学习HTML的时候,知道ol意味着ordered listtrtable row等对我很有帮助。一些lisp原语/表单很简单:funcall应该是function calldefmacro-define macro有些在中间-incfincrement... f???但是因为普通的lisp太老了,这个原语/特殊形式/等等好像没按门铃你们能帮我弄清楚吗更重要的是:我在哪里可以找到一个权威的资源来学习每一个背后的意义/历史(我将接受基于第二个问题的答案)
文档对我也没有帮助:

* (describe #'let)

#<CLOSURE (:SPECIAL LET) {10013DC6AB}>
  [compiled closure]

Lambda-list: (&REST ARGS)
Derived type: (FUNCTION (&REST T) NIL)
Documentation:
  T
Source file: SYS:SRC;COMPILER;INFO-FUNCTIONS.LISP

* (documentation 'let 'function)

"LET ({(var [value]) | var}*) declaration* form*

During evaluation of the FORMS, bind the VARS to the result of evaluating the
VALUE forms. The variables are bound in parallel after all of the VALUES forms
have been evaluated."

* (inspect 'let)

The object is a SYMBOL.
0. Name: "LET"
1. Package: #<PACKAGE "COMMON-LISP">
2. Value: "unbound"
3. Function: #<CLOSURE (:SPECIAL LET) {10013DC6AB}>
4. Plist: (SB-WALKER::WALKER-TEMPLATE SB-WALKER::WALK-LET)

下面的lisp原语/特殊形式/特殊运算符/函数是什么意思?
让,弗莱特
程序
汽车
CDR
行政协调会
设置,设置
增量
(在评论中写更多,这样我们就可以列一个好的列表!)

最佳答案

let:将变量名绑定到某个值
flet:将函数名绑定到某个函数
progn:执行程序序列并返回第n个值(最后一个值)
car:地址寄存器的内容(历史)
cdr:减量寄存器的内容(历史)
acc:累加器
setq:SET Quote是set函数的变体,在setq中用户不引用变量
setf:设置引用的函数,原始名称的较短名称此处不计算功能/位置。
setfq:引用的增量函数,类似于incf增加一个地方。
其他约定:
更改位置的宏/特殊窗体的末尾应该有一个setffsetfpsetfincfdecf。。。
定义某物的宏应该有defdefine在前面:defundefmethoddefclassdefine-method-combinationn。。。
具有破坏性的功能应该有一个nreverse在前面,对于不考虑:p。。。
谓词的结尾有一个-padjustable-array-palpha-char-p*,…
特殊变量在前面和后面有*standard-output*。。。
还有其他naming conventions

关于lisp - 常见的Lisp功能/特殊形式/宏/等等是什么。名称的意思是,我在哪里可以找到此信息?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37869336/

10-11 21:51