将lisp命令回显到标准输出

将lisp命令回显到标准输出,lisp,common-lisp,clisp,Lisp,Common Lisp,Clisp,是否有任何命令将所有后续lisp命令回显到stdout 我正在寻找类似于bash-x的东西,但需要一些lisp解释器(或某种风格的lisp,特别是GNU Common lisp)。如果您使用CLISP(ANSI Common lisp的一种实现),请阅读手册页。另请参阅*load print*和load的文档,了解ANSI Common Lisp的任何实现。如果使用CLISP(ANSI Common Lisp的实现),请阅读手册页。有关ANSI Common Lisp的任何实现,请参见*加载打印

是否有任何命令将所有后续lisp命令回显到stdout


我正在寻找类似于bash-x的东西,但需要一些lisp解释器(或某种风格的lisp,特别是GNU Common lisp)。

如果您使用CLISP(ANSI Common lisp的一种实现),请阅读手册页。另请参阅
*load print*
load
的文档,了解ANSI Common Lisp的任何实现。

如果使用CLISP(ANSI Common Lisp的实现),请阅读手册页。有关ANSI Common Lisp的任何实现,请参见
*加载打印*
加载
的文档。

可能的话,您可以使用
DRIBBLE


可能的话,你可以使用
运球


Common Lisp是一种与Bash截然不同的语言。它没有像Bash那样的“命令”。它具有函数、宏和特殊运算符。尽管所有Bash命令都是原子的(从当前Bash进程的角度来看),但在Lisp中,这只适用于基本函数和特殊运算符。其他一切都是由简单的部分组成的


正因为如此,Bash的
xtrace
/
-x
特性的直接等价物在Lisp中没有意义。如果你写下你真正想要解决的问题,而不是仅仅要求一个非常具体的特性,这将是很有帮助的。也许对您感兴趣的函数调用
trace
会有所帮助?

Common Lisp是一种与Bash截然不同的语言。它没有像Bash那样的“命令”。它具有函数、宏和特殊运算符。尽管所有Bash命令都是原子的(从当前Bash进程的角度来看),但在Lisp中,这只适用于基本函数和特殊运算符。其他一切都是由简单的部分组成的


正因为如此,Bash的
xtrace
/
-x
特性的直接等价物在Lisp中没有意义。如果你写下你真正想要解决的问题,而不是仅仅要求一个非常具体的特性,这将是很有帮助的。也许对您感兴趣的函数调用
trace
会有所帮助?

您能澄清一下吗?当你说Lisp命令时,你是指你在REPL(read eval print循环)中以交互方式键入的内容吗?这不是一个很好的答案,但最后一个评估的表单存储在中,如果它不存在,这可能有助于实现此功能。现在怎么办?GNU通用Lisp,还是CLISP?您在问题中提到GNU Common Lisp,但标记了问题CLISP(这是Common Lisp的另一个实现)。您是希望以交互方式使用REPL,还是将Lisp用作脚本语言?中的最后一个建议显示了一种脚本编写技术,其中将打印每个输出值。你也许可以通过某种方式修改它来查看输入。你能澄清一下吗?当你说Lisp命令时,你是指你在REPL(read eval print循环)中以交互方式键入的内容吗?这不是一个很好的答案,但最后一个评估的表单存储在中,如果它不存在,这可能有助于实现此功能。现在怎么办?GNU通用Lisp,还是CLISP?您在问题中提到GNU Common Lisp,但标记了问题CLISP(这是Common Lisp的另一个实现)。您是希望以交互方式使用REPL,还是将Lisp用作脚本语言?中的最后一个建议显示了一种脚本编写技术,其中将打印每个输出值。您可以通过某种方式对其进行修改以查看输入。但是,如果实现碰巧在其REPL中提供了挂钩,那么添加一些内容来打印即将评估的当前表单将回答OP的问题。(浏览一下CLISP source并不会让它看起来像CLISP有这样一个钩子,但有些实现可能会这样。)@JoshuaTaylor:Bash的
-x
选项的目的是提供脚本执行的所有命令的完整跟踪。(我认为当以交互方式使用shell时,它没有多大用处。)我试图在我的回答中指出,这样的功能在Lisp中没有帮助,因为它会让您深入标准库的内部。并且原始表单通常不是要计算的(例如,由于宏扩展和编译到本机代码)。因此,我建议改为跟踪感兴趣的特定函数。例如,请参见CLISP手册中的。但是,重读这个问题,这个假设可能是不合理的。但是,如果一个实现碰巧在其REPL中提供了钩子,那么,添加一些东西来打印即将评估的当前表单将回答OP的问题。(浏览一下CLISP source并不会让它看起来像CLISP有这样一个钩子,但有些实现可能会这样。)@JoshuaTaylor:Bash的
-x
选项的目的是提供脚本执行的所有命令的完整跟踪。(我认为当以交互方式使用shell时,它没有多大用处。)我试图在我的回答中指出,这样的功能在Lisp中没有帮助,因为它会让您深入标准库的内部。并且原始表单通常不是要计算的(例如,由于宏扩展和编译到本机代码)。因此,我建议改为跟踪感兴趣的特定函数。例如,请参见CLISP手册中的。然而,重读这个问题,这种假设可能是不合理的。