cloojure / tupelo

Tupelo: Clojure With A Spoonful of Honey
Eclipse Public License 1.0
510 stars 15 forks source link

MapEntry in ClojureScript requires a third argument "__hash" #17

Open w9 opened 3 years ago

w9 commented 3 years ago

https://github.com/cloojure/tupelo/blob/63a34492bdb2d1f7a94050c653ee233ec1211380/src/cljc/tupelo/core.cljc#L1207

See https://cljs.github.io/api/cljs.core/MapEntry

Currently, the missing third argument gives a warning when compiled:

------ WARNING #1 - :fn-arity --------------------------------------------------
 Resource: tupelo/core.cljc:1200:12
 Wrong number of args (2) passed to cljs.core.MapEntry
--------------------------------------------------------------------------------
cloojure commented 3 years ago

Hmmm,

Looks like we could fix with this as the 3rd arg:

(hash-ordered-coll [key val])

???

frenchy64 commented 2 years ago

Since __hash is mutable and filled in later, nil might work better as the 3rd arg.

https://github.com/clojure/clojurescript/blob/r1.10.891-1-g64435188/src/main/cljs/cljs/core.cljs#L2388

frenchy64 commented 2 years ago

Or even (first {k v}) might be a portable solution.