我已经使用https://github.com/thephoeron/slime-pack安装了slime,并希望更多地探索common-lisp.
如何在emacs中访问特定功能的源?
例如,如果我有一个功能:
(type-of 1)
Run Code Online (Sandbox Code Playgroud)
我想访问的来源type-of
,如何做到这一点?
在On Lisp(第9页)中,可以找到以下声明:
函数是Lisp程序的构建块.它们也是Lisp的构建块.在大多数语言中,+运算符与用户定义的函数完全不同.但Lisp有一个模型,函数应用程序,用于描述程序完成的所有计算.Lisp +运算符是一个函数,就像你自己定义的函数一样.事实上,除少数运算符称为特殊表单外,Lisp的核心是Lisp函数的集合.什么阻止你添加到这个系列?什么都没有:如果你想你想的Lisp可以这样做,你可以把它写自己,和你的新功能将被视为就像内置的.
我的问题是如何+
使用以下特殊运算符实现运算符?或者实际上有更多的运营商在使用,格雷厄姆只是不精确和戏剧化?
block let* return-from
catch load-time-value setq
eval-when locally symbol-macrolet
flet macrolet tagbody
function multiple-value-call the
go multiple-value-prog1 throw
if progn unwind-protect
labels progv
let quote
Run Code Online (Sandbox Code Playgroud)
有没有办法查看这些函数的源代码?