gpt4 book ai didi

clojure - Common Lisp 中的原子和 Clojure 中的原子有什么区别?

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

以下page讨论原子在 Clojure 中是如何工作的。它并没有详细说明 Clojure 中原子与其他 lisp 方言之间的差异。

Common Lisp 中的原子与 Clojure 中的原子之间的主要区别是什么? (存在于 CL 中的 Clojure 中的原子定义缺少什么?)

最佳答案

Clojure 中的原子和 Common Lisp(以及大多数其他 Lisp)中的原子是两个完全不相关的概念。除了同名之外,它们彼此没有任何关系。

没有“区别”。它会问房子里的 window 和电脑屏幕上的 window 有什么区别?识别差异没有意义,因为这两个概念不相关。

Clojure 中的“原子”管理状态。

Lisp 中的“Atoms”是指所有非 cons 单元的数据类型(例如数字、字符、字符串、符号……)。

在 Lisp 中,函数 ATOM 被简单地定义为:

(defun atom (object)
(not (consp object)))

因为 Clojure 没有 cons 单元,也没有函数 consp,所以不可能说 (not (consp object))。因此,在 Clojure 中不存在像“atom”这样的 Lisp 概念。请注意,Clojure 有一个函数 cons,但它不会像 Lisp 那样创建 cons 单元。

关于clojure - Common Lisp 中的原子和 Clojure 中的原子有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3665132/

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