lisp - 有没有办法找出表单来自哪个文件?

标签 lisp common-lisp

假设我在名为 example.lisp 的文件中有以下内容。

(in-package :example)

(defparameter *global* 'bar)

(defun foo (a b) (list a b))

是否有一个函数可以做类似的事情

> (hypothetical-function #'foo)
#P"example.lisp"

> (hypothetical-function '*global*)
#P"example.lisp"

我专门寻找函数或宏,而不是 SLIME 命令或类似命令。为了在生成的文件中生成一些文档,程序的某些部分需要知道其他部分来自哪里,这似乎是我应该能够在不手动传递原始文件的情况下完成的事情。

最佳答案

要了解实现独立的方法,请查看 swank::find-source-location

关于lisp - 有没有办法找出表单来自哪个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9320863/

相关文章:

function - Scheme - 有一个函数返回一个函数

lisp - 重写应用函数以使用递归代替

functional-programming - Scheme中的模式匹配

lisp - common lisp sbcl 手册 ffi 示例失败

unicode - CLisp:将字符串编码设置为 UTF-8

macros - 在编写宏时,Clojure 的单一命名空间方法是否会以任何方式限制您?

lisp - 如何解释 Ready Lisp 中的完整程序?

recursion - 为什么Emacs lisp中没有尾递归优化,而不是像其他方案一样?

lisp - Common lisp 从函数推送

common-lisp - 如何创建由 `make-symbol` 创建的符号