ClojureScript背后不需要Clojure的defstruct的原因是什么?

haw*_*eye 5 clojure clojurescript

defstructClojureScript不支持它 - 它似乎是设计的.现在它可能是Clojure语言的一个被弃用的部分,而ClojureScript的设计者只是希望每个人都继续前进.(但这是我的推测).

我的问题是:ClojureScript不需要Clojure的defstruct背后的原因什么?

Mar*_*ars 5

defstruct 在语言中有效地弃用,有利于defrecord.我们应该继续(基于JVM)Clojure,所以我希望Clojurescript是相同的.请参阅以下内容:

Clojure:数据结构:"注意:StructMaps的大多数用途现在都可以通过记录得到更好的服务."

ClojureDocs:steveminer的defstruct评论:"结构已经过时了.请改用记录.请参阅defrecord."

即将到来的"欢乐的Clojure",第2版.Fogus和Houser的(预发布V9版)说:"随着结构的出现defrecord,对结构的需求几乎已经消除,因此本书不涉及结构." (第322页)

另请注意编程Clojure,第2版.由Halloway和Bedra覆盖,defrecord但没有defstruct(虽然有一些传递提到的结构 - 可能不小心从第一版中留下.).

我猜defrecord这些日子里所有很酷的人都在使用.:-)

亚历克斯米勒回答 "我应该在哪里使用defrecord在clojure?" 对优势(和劣势)进行了很好的讨论defrecord,尽管他主要不是将其与之比较defstruct.