默认情况下,KEYWORD 包中包含哪些符号?
What symbols are interned in the KEYWORD package by default?
KEYWORD
包中默认驻留了哪些关键字?在我启动它们的 REPL 后,我立即注意到 SBCL 和 CLISP 的初始 interned 关键字之间存在一些差异。 KEYWORD
包中的默认 interned 符号是否应该因实现而异?
在 SBCL 中:
(find-symbol "CL" "KEYWORD") ; -> :CL, :EXTERNAL
(find-symbol "CL-USER" "KEYWORD") ; -> :CL-USER, :EXTERNAL
(find-symbol "COMMON-LISP" "KEYWORD") ; -> :COMMON-LISP, :EXTERNAL
(find-symbol "COMMON-LISP-USER" "KEYWORD") ; -> NIL, NIL
在 CLISP 中:
(find-symbol "CL" "KEYWORD") ; -> NIL, NIL
(find-symbol "CL-USER" "KEYWORD") ; -> NIL, NIL
(find-symbol "COMMON-LISP" "KEYWORD") ; -> :COMMON-LISP, :EXTERNAL
(find-symbol "COMMON-LISP-USER" "KEYWORD") ; -> NIL, NIL
What keywords are interned in the KEYWORD package by default?
任何实现 wants/needs。请记住,Lisp 实现可能包括编译器、I/O 系统、对象系统、操作系统接口、开发工具、网络连接方式、图形库、终端库……
其中每一个(实现、库、扩展...)都可以在其实现代码中使用关键字。由于只有一个关键字包,所有关键字最终都在同一个包中。
无论是在标准中还是按照惯例,关键字包中都没有预期的符号 - 除了标准中可能提到的符号之外。
KEYWORD
包中默认驻留了哪些关键字?在我启动它们的 REPL 后,我立即注意到 SBCL 和 CLISP 的初始 interned 关键字之间存在一些差异。 KEYWORD
包中的默认 interned 符号是否应该因实现而异?
在 SBCL 中:
(find-symbol "CL" "KEYWORD") ; -> :CL, :EXTERNAL
(find-symbol "CL-USER" "KEYWORD") ; -> :CL-USER, :EXTERNAL
(find-symbol "COMMON-LISP" "KEYWORD") ; -> :COMMON-LISP, :EXTERNAL
(find-symbol "COMMON-LISP-USER" "KEYWORD") ; -> NIL, NIL
在 CLISP 中:
(find-symbol "CL" "KEYWORD") ; -> NIL, NIL
(find-symbol "CL-USER" "KEYWORD") ; -> NIL, NIL
(find-symbol "COMMON-LISP" "KEYWORD") ; -> :COMMON-LISP, :EXTERNAL
(find-symbol "COMMON-LISP-USER" "KEYWORD") ; -> NIL, NIL
What keywords are interned in the KEYWORD package by default?
任何实现 wants/needs。请记住,Lisp 实现可能包括编译器、I/O 系统、对象系统、操作系统接口、开发工具、网络连接方式、图形库、终端库……
其中每一个(实现、库、扩展...)都可以在其实现代码中使用关键字。由于只有一个关键字包,所有关键字最终都在同一个包中。
无论是在标准中还是按照惯例,关键字包中都没有预期的符号 - 除了标准中可能提到的符号之外。