在常见的lisp中,名称标签和 flet 对我来说有些特殊。
flet 可以被描述为 f 部分的 let 。所以它这样命名。那么标签呢?
getf , setf , remf 的“f”来自哪里?
感谢。
答案 0 :(得分:7)
LABEL(没有s)是一个非常古老的(来自早期的Lisp方言)构造,它允许为函数命名,以便它可以使用该名称调用自身:
类似的东西(这不是有效的Common Lisp):
(label 'ff (lambda (x) (if (foo) (bar) (ff (baz)))))
标签是一个带名字的函数。
对于Common Lisp,此名称已被回收。 LABELS现在允许定义可以按名称调用自身的本地函数。
答案 1 :(得分:2)
获取表单,设置表单,删除表单。