This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-06-21
Channels
- # bangalore-clj (1)
- # beginners (60)
- # boot (30)
- # cider (7)
- # cljs-dev (10)
- # cljsrn (2)
- # clojure (163)
- # clojure-conj (10)
- # clojure-france (1)
- # clojure-greece (2)
- # clojure-italy (7)
- # clojure-russia (41)
- # clojure-serbia (22)
- # clojure-spec (41)
- # clojure-uk (41)
- # clojurescript (178)
- # cursive (36)
- # datascript (1)
- # datomic (23)
- # dirac (38)
- # graphql (12)
- # hoplon (20)
- # immutant (32)
- # instaparse (3)
- # keechma (1)
- # lein-figwheel (18)
- # leiningen (8)
- # liberator (1)
- # luminus (30)
- # lumo (29)
- # off-topic (18)
- # om (17)
- # pedestal (7)
- # planck (37)
- # precept (1)
- # re-frame (67)
- # ring-swagger (2)
- # timbre (1)
- # untangled (8)
- # vim (2)
Possibly silly question: Is there a reason IComparable
for Keyword
, Symbol
etc is not implemented directly during at the deftype
of those types but instead with extend-protocol IComparable
? If it were implemented right at the deftype
it would be properly added to the bit mask for the fast-path-protocols and offer a (possibly) faster satisfies
and thus faster compare
of those types, right?
yeah the fast path mask thing may be obsolete - something worth testing is just removing that stuff and testing the major browsers
So I just checked the types that were passed into apply
and the vast majority (for my app) are IndexedSeq & Vectors. Which makes sense. An idea: We could add a protocol to core that adds all the contents of a collection to an array. Like IIntoArray
with (-into-array [arr])
. That could be used in various places, not just apply
. (Like sort).
really only for protocols with matching interfaces in Clojure with very few exceptions