You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

截至2021年Common Lisp内置特殊函数列表及变动情况问询

Common Lisp 内置特殊函数问题解答

特殊操作符(旧称特殊函数)定义

特殊操作符得名于其与宏、普通函数的核心区别:

  • 与宏相同,特殊操作符不会对输入参数自动求值
  • 与宏不同,特殊操作符不会返回待求值的Lisp表达式,是构建Lisp语言的底层原语,覆盖赋值、条件判断、块结构等核心基础能力

1989年列表与2021年的变动说明

Common Lisp的官方正式标准为1994年发布的ANSI X3.226-1994,之后没有推出过新的官方修订版本,因此标准层面的特殊操作符列表从1994年至今完全固定,截至2021年年中也无任何变化。
与1989年David S. Touretzky在《Common Lisp:符号计算通俗导论》中记载的24个特殊函数列表相比,共有3处标准调整:

  • 移除了旧列表中的COMPILER-LET
  • 移除了旧列表中的DECLARE(ANSI CL将其归类为声明标识符,不属于特殊操作符范畴)
  • 新增了LOAD-TIME-VALUE作为特殊操作符

该书2014年再版时未修改相关表述,因为原版内容本身限定了统计时间为1989年年中,并非未做内容核对:

截至1989年年中,Common Lisp内置的24个特殊函数为:……
(出自该书第507页)

ANSI Common Lisp 标准完整特殊操作符列表

共23个,具体如下:

  • BLOCK
  • CATCH
  • EVAL-WHEN
  • FLET
  • FUNCTION
  • GO
  • IF
  • LABELS
  • LET
  • LET*
  • LOAD-TIME-VALUE
  • MACROLET
  • MULTIPLE-VALUE-CALL
  • MULTIPLE-VALUE-PROG1
  • PROGN
  • PROGV
  • QUOTE
  • RETURN-FROM
  • SETQ
  • TAGBODY
  • THE
  • THROW
  • UNWIND-PROTECT

内容的提问来源于stack exchange,提问作者Pedro Delfino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 17:36:03