Common lisp 标准定义了哪些通用功能?

Common lisp 标准定义了哪些通用功能?,common-lisp,clos,Common Lisp,Clos,在通用Lisp中,有一些由标准定义的通用函数,例如用于操作序列的函数 然而,查看格雷厄姆的书ANSI Common Lisp和斯蒂尔的书Common Lisp–相关章节中的语言,我找不到标准中定义的任何通用函数列表 标准定义了哪些通用函数?您提出的问题 操纵 我们不是s。 它们列在本节中 由 本节列出了标准 部分标准化列表 可以是 在第节中找到(例如。, 列在 第节) 你本想问的问题 查找现有的Lisp功能应该不难使用 . 一旦你看到一个看似合理的符号,使用 找出它是什么 事实上是这样 请记住,

在通用Lisp中,有一些由标准定义的通用函数,例如用于操作序列的函数

然而,查看格雷厄姆的书ANSI Common Lisp和斯蒂尔的书Common Lisp–相关章节中的语言,我找不到标准中定义的任何通用函数列表

标准定义了哪些通用函数?

您提出的问题 操纵 我们不是s。 它们列在本节中

由 本节列出了标准

部分标准化列表 可以是 在第节中找到(例如。, 列在 第节)

你本想问的问题 查找现有的Lisp功能应该不难使用 . 一旦你看到一个看似合理的符号,使用 找出它是什么 事实上是这样

请记住,大多数实现提供了标准指定的更多功能。 您可以这样做:

(dolist (pack (package-use-list "COMMON-LISP-USER"))
  (format t "~S~%" pack)
  (do-external-symbols (s pack)
    (when (and (fboundp s)
               (typep (fdefinition s) 'generic-function))
      (format t "  ~S~%" s))))

目前,我认为最好的办法就是浏览和grep的“通用函数”页面

使用脚本将此建议应用于HyperSpec的本地副本

% sed -n -e '
/Standard Generic Function/{
 s/.*Standard Generic Function *//
 s|</A>||
 p
}' X_Mast_*.htm | sort -u

非常感谢。也许我不够清楚,我实际上是在试图找到标准定义的类和方法的列表。由于方法不一定与单个类关联,因此我将重点放在方法上。标准中定义的IIUC类和方法以对象系统本身为中心,给想要使用它们的程序员留下了一个本质上的白页。你可能想检查Common Lisp的元对象协议(MOP)。@PauloMadeira:MOP还没有被ANSI标准化。我知道,但op需要某种“白页”,大多数实现在某种程度上遵循MOP,项目可用于消除一些差异(closer MOP、cl MOP等)。如果op对CommonLisp中良好的OOP实践感兴趣,我敢说op应该检查CLIM2。
(SETF CLASS-NAME)
ADD-METHOD
ALLOCATE-INSTANCE
CHANGE-CLASS
CLASS-NAME
COMPUTE-APPLICABLE-METHODS
DESCRIBE-OBJECT
DOCUMENTATION, (SETF DOCUMENTATION)
FIND-METHOD
FUNCTION-KEYWORDS
INITIALIZE-INSTANCE
MAKE-INSTANCE
MAKE-INSTANCES-OBSOLETE
MAKE-LOAD-FORM
METHOD-QUALIFIERS
NO-APPLICABLE-METHOD
NO-NEXT-METHOD
PRINT-OBJECT
REINITIALIZE-INSTANCE
REMOVE-METHOD
SHARED-INITIALIZE
SLOT-MISSING
SLOT-UNBOUND
UPDATE-INSTANCE-FOR-DIFFERENT-CLASS
UPDATE-INSTANCE-FOR-REDEFINED-CLASS