Welcome! Please see the About page for a little more info on how this works.

0 votes
in ClojureScript by

If you look a the docstring for {{defrecord}} in Clojure and compare to ClojureScript, you will see that ClojureScript doesn't mention that {{__hash}} is a reserved field name.

This should be mentioned, as it is used internally in the ClojureScript implementation of {{defrecord}}.

As an aside, while {{__hasheq}} is reserved in Clojure, there doesn't appear to be a reason to indicate it is reserved in ClojureScript. (The relevant Clojure commit is https://github.com/clojure/clojure/commit/a1c3dafec01ab02fb10d91f98b9ffd3241e860c0)

Also, in both Clojure and ClojureScript, fields documented as reserved for {{defrecord}} are also documented as such for {{deftype}}. It is not immediately clear to me why this is done, so in my mind it is an open question as to whether {{__hash}} should be documented as reserved in the ClojureScript {{deftype}} docstring.

1 Answer

0 votes
Reference: https://clojure.atlassian.net/browse/CLJS-3062 (reported by mfikes)