This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-08-27
Channels
- # bangalore-clj (1)
- # beginners (187)
- # braveandtrue (52)
- # calva (7)
- # cider (17)
- # cljs-dev (14)
- # clojure (27)
- # clojure-austin (4)
- # clojure-dev (11)
- # clojure-finland (4)
- # clojure-italy (5)
- # clojure-nl (1)
- # clojure-russia (22)
- # clojure-spec (9)
- # clojure-uk (27)
- # clojurescript (91)
- # datomic (40)
- # duct (4)
- # emacs (14)
- # figwheel-main (36)
- # fulcro (11)
- # hoplon (10)
- # immutant (9)
- # instaparse (4)
- # java (1)
- # jobs (2)
- # off-topic (28)
- # pedestal (1)
- # reagent (15)
- # reitit (7)
- # remote-jobs (6)
- # ring-swagger (3)
- # shadow-cljs (28)
- # slack-help (1)
- # spacemacs (4)
- # specter (1)
- # sql (3)
- # testing (3)
- # tools-deps (24)
I've mostly got my head around how PersistentVectors work. And I think the persistent IList works similarly, but from left to right, and one element at a time, rather than chunks of 32 (and without the bitshifting jazz), correct? And I think PersistentHashMap is operating more like the PersistentList, but where each key value pair can act as a head/tail, in a branching way. Do I understand those right?
PersistentHashMap acts more like PersistentVectors .
Each node stores Key Value pairs or pointers to nodes below it (e.g. KVKVP*KVKV
or P*P*KVP*
) in an array of up to size 32
KV
is a key value pair and P*
is a pointer to a sub nod
Each keys hash determines where the Key Value pair is located on each node.