我应该如何正确实现核心 Clojure 接口?
How should I properly implement the core Clojure interfaces?
如果我使用 deftype
在 Clojure 中实现某些数据结构,我应该如何决定要实现哪个 core Clojure interfaces?
我无法找到各种 Clojure 接口的综合指南;事实上,我 能找到的唯一相关信息是 this question,范围非常有限。
我正在寻找的是每个核心 Clojure 接口的列表,并简要描述它是什么以及何时应该实现它(或者你是否应该实现它!),如以及 clojure.core
中使用它的所有常用函数的列表。所有这些接口的继承树的描述或图表也会有所帮助。
我无法回答你所有的问题,但我通常从 clojure atlas http://www.clojureatlas.com/ 开始寻找要实现的接口。
Ben Vandgrift 和 Alex Miller 的优秀著作 Clojure Applied 在 "Chapter 2. Collect and Organize Your Data" 下的 "Building Custom Collections" 中提供了关于这个确切主题的详细信息。第 39 页提供了 clojure.lang
中的界面可视化图。
如果我使用 deftype
在 Clojure 中实现某些数据结构,我应该如何决定要实现哪个 core Clojure interfaces?
我无法找到各种 Clojure 接口的综合指南;事实上,我 能找到的唯一相关信息是 this question,范围非常有限。
我正在寻找的是每个核心 Clojure 接口的列表,并简要描述它是什么以及何时应该实现它(或者你是否应该实现它!),如以及 clojure.core
中使用它的所有常用函数的列表。所有这些接口的继承树的描述或图表也会有所帮助。
我无法回答你所有的问题,但我通常从 clojure atlas http://www.clojureatlas.com/ 开始寻找要实现的接口。
Ben Vandgrift 和 Alex Miller 的优秀著作 Clojure Applied 在 "Chapter 2. Collect and Organize Your Data" 下的 "Building Custom Collections" 中提供了关于这个确切主题的详细信息。第 39 页提供了 clojure.lang
中的界面可视化图。