我知道Common Lisp REPL提供了强大的功能。我特指使用SBCL实现。然而,我不确定我的REPL设置是否正确,想知道如何让REPL更加强大。
例如,我想找到计算2^3 = 8的幂函数。在许多其他语言中,这称为
例如,我想找到计算2^3 = 8的幂函数。在许多其他语言中,这称为
pow
或power
。所以我做了以下操作:CL-USER> (apropos 'pow)
POW
POWER
:OP-POWER-EXT (bound)
:POWERPC (bound)
SB-IMPL::*INTEGER-READER-BASE-POWER* (bound)
SB-IMPL::*POWER-CACHE* (bound)
SB-IMPL::+POWER-CACHE-INTEGER-LENGTH-LIMIT+ (bound)
SB-IMPL::COMPUTE-POWERS
SB-IMPL::POWER
SB-IMPL::POWERS-FOR-BASE (fbound)
SB-INT:POWER-OF-TWO-CEILING (fbound)
SB-KERNEL:%POW (fbound)
SB-KERNEL::POWER
SB-KERNEL:SCRUB-POWER-CACHE (fbound)
; No value
我要怎么查看这些函数的文档?在查看文档之前,我需要“导入”其中的任何一个“库”吗?通常我会发现文档丢失了,因为REPL将返回nil。
文档在哪里呢?例如,我尝试过:
CL-USER> (documentation 'power 'function)
它只返回了NIL
,但是从上面apropos
列出的列表中可以看出,power
存在!
总结:
- 我如何查找函数、数据类型、变量等的文档(还有什么其他的文档需要查找)?
SB-IMPL
和SB-KERNEL
库是否已经导入?
感谢您的所有帮助!
C-c C-d C-h
列出与文档相关的函数,例如使用C-c C-d h
在Hyperspec中查找或使用C-c C-d d
进行DESCRIBE
。 - Dan Robertson