gpt4 book ai didi

lisp - lisp有什么不同

转载 作者:太空宇宙 更新时间:2023-11-03 18:56:16 24 4
gpt4 key购买 nike

例如,

(cond ((< 2 1) 2 )((< 1 2 ) 1)) has value 1. OK;

但是,我在我的主要书中看到 (cond (diverge 1) (ture 0)) is undefined, if diverge does not terminate'。

lisp 的分歧是什么?

我不知道。

此外,我不确切知道 lisp 中的副作用是什么。

最佳答案

假设你原意的代码是

(cond ((diverge 1) (ture 0)))

那么当我们假设 diverge 是一个 - 正如它的名字所暗示的 - 发散操作时,该表达式的结果是未定义的(或者更好,也是发散的)。

A diverging operation是一种不会收敛到结果的方法,例如无限循环。

Common Lisp 标准中没有定义 diverge(它有什么实际用途?),因此您的书只是通过将发散计算包装在一个操作中而省略了发散计算的“实现细节”并适本地命名。

请注意,如果假设 diverge 是符号宏,则原始代码可以公开相同的行为。

关于lisp - lisp有什么不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36243759/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com