common-lisp - 默认情况下,KEYWORD 包中包含哪些符号?
问题描述
KEYWORD
默认情况下,包中包含哪些关键字?在我开始他们的 REPL 之后,我注意到 SBCL 和 CLISP 的初始实习关键字之间存在一些差异。包中的默认实习符号是否KEYWORD
应该在实现之间有所不同?
在 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
解决方案
KEYWORD 包中默认包含哪些关键字?
任何实现想要/需要的。请记住,Lisp 实现可能包括编译器、I/O 系统、对象系统、操作系统接口、开发工具、网络方式、图形库、终端库……
其中每一个(实现、库、扩展等)都可以在其实现代码中使用关键字。由于只有一个关键字包,所有关键字最终都在同一个包中。
无论是在标准中还是按照惯例,都没有期望关键字包中存在哪些符号 - 超出了标准中可能提到的那些符号。
推荐阅读
- java - 我们可以在休眠 4.1.10 FINAL 中使用 MySql8Dialect 吗?
- javafx - 无法强制 JavaFX TableView 从另一个窗口/控制器刷新
- post - 使用 GET 请求检索发送到 requestbin.fullcontact.com 的数据
- javascript - 这个 JavaScript 的“rel”应该是什么?
- dart - Flutter AbsorbPointer 与 IgnorePointer 的区别
- python - 如何在 Django 管理类中检查图像宽度和高度?
- php - SQL HAVING 找不到未知列
- react-native - 带有导航栏的标签栏组件不会改变导航栏的颜色
- kotlin - 如何设置微调器的默认值
- verilog - HDLBits 上的一个问题:设计一个具有以下输入和输出的 1-12 计数器