gpt4 book ai didi

data-structures - 如何实现递归deftype

转载 作者:行者123 更新时间:2023-12-04 02:10:56 25 4
gpt4 key购买 nike

我很好奇如何做一个包含对自身引用的 Clojure deftype,例如

  (deftype BinaryTree [^BinaryTree left ^BinaryTree right])

这行不通……但是我看不出为什么它不可行的内在原因,因为底层 Java 类完全能够引用自身。

我在这里做错了什么?

麦克风。

最佳答案

目前,字段上的 ^Class 提示(与 ^primitive 提示相反)被丢弃,因此尝试放置它们没有任何好处。这在 future 可能会改变。

然而,类型定义中的自动引用(例如在方法体中,而不是在字段中)有些工作,但实现有点黑客。考虑到在 Clojure 中重写编译器的 promise ,在当前的 java 编译器中修复自动引用的动机很小。

关于data-structures - 如何实现递归deftype,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4817445/

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