Clojure代数数据类型

zw0*_*0rk 7 clojure algebraic-data-types

defadtclojure.contrib.types中找到了宏.不幸的是,在clojure中没有关于ADT使用的有用文档.我用谷歌搜索了几个小时,发现了一些关于它的信息.clojure中的ADT是什么?怎么用?任何信息都会有所帮助:)

Mau*_*ijk 2

一些信息可以在src/clojure/contrib/types 中的Examples.clj文件中找到。它显示了定义为 adt 的树结构的示例:

(defadt ::tree
  empty-tree
  (leaf value)
  (node left-tree right-tree))
Run Code Online (Sandbox Code Playgroud)

源文件中的更多信息。

  • defadt 是否已弃用? (2认同)