Cosa devo usare alberi dito di Clojure per?
-
09-10-2019 - |
Domanda
nuovo gruppo di librerie contrib di Clojure ha una href="http://en.wikipedia.org/wiki/Finger_tree" rel="noreferrer"> albero dito biblioteca . Quali sono i casi di utilizzo per alberi delle dita in clojure? Quando devono dito alberi essere utilizzati al posto di uno degli altri strucures di Clojure dati peristent:. Vettori, set, mappe, persistentqueues, etc
Il gioia di Clojure menziona quel dito alberi può essere utilizzato per collezioni indicizzate dove sono richieste inserzioni e delezioni economici. Essi sono stati anche descritto come il "coltellino svizzero di strutture di dati." Esempi di questo sarebbe molto apprezzato.
Soluzione
alberi 2-3 dita sono descritte in un articolo di Ralf Hinze e Ross Paterson . Essi forniscono non solo una descrizione completa della struttura dei dati in sé, ma alcuni esempi di come possa essere utilizzato ... in Haskell. La maggior parte delle caratteristiche che descrivono sono già disponibili nella libreria Clojure, ma la documentazione semplicemente non c'è ancora.
sarò l'introduzione di alberi delle dita Clojure a Clojure Conj questo fine settimana.
Aggiornamento: Ora ci sono alcuni esempi mostrato a http : //github.com/clojure/data.finger-tree#readme
Aggiornamento: Diapositive dal discorso: https://github.com/Chouser/talk-finger-tree/blob/master/finger-trees.pdf
Aggiornamento: Video del discorso: http: // www .youtube.com / watch? v = UXdr_K0Lwg4