查找计划中的程序文​​本

时间:2009-06-05 13:25:14

标签: scheme

ipython python shell有一个很棒的功能,你可以输入:

FOO ??

并查看函数foo的文本。

计划(特别是麻省理工学院计划)是否有类似的内容?

我希望能够说出

(define(foo x)(* x x))

以后查看(甚至操作)列表(* x x)

有办法做到这一点吗?

3 个答案:

答案 0 :(得分:1)

在我知道的任何方案中,默认情况下都不是。你可以做的是定义一个宏,它执行“定义”所做的事情,另外还将函数的主体存储在哈希表或alist中。当然,这只适用于您控制的代码。

答案 1 :(得分:0)

没有可靠,便携的方法来做到这一点。

答案 2 :(得分:0)

Scheme函数的一般结构是(define (<name> <arg1> <arg2> ... ) <expr1> <expr2> ... <exprn>)。扩展Mark Probst的建议,您可以定义一个宏来定义函数的引用版本,然后您可以应用cddr来获取函数表达式的列表。