Was soll ich für Clojure Finger Bäume benutzen?
-
09-10-2019 - |
Frage
Clojure Der neue contrib Bibliothek Gruppe hat einen Finger Baum Bibliothek . Was sind die Anwendungsfälle für Finger Bäume in Clojure? Wann sollten Bäume ein anstelle von anderen persistierenden Daten strucures von clojure des verwendeten Finger werden. Vektoren, Sätze, Karten, persistentqueues, etc
Die Joy von Clojure , die Finger Bäume erwähnt können für indizierte Sammlungen verwendet werden, wo billige Einfügungen und Löschungen erforderlich sind. Sie haben auch als beschrieben worden „Schweizer Taschenmesser von Datenstrukturen.“ Beispiele hierfür wären sehr geschätzt werden.
Lösung
2-3 Finger Bäume sind in einem Papier von Ralf Hinze und Ross Paterson . Sie bieten nicht nur eine vollständige Beschreibung der Datenstruktur selbst, sondern mehrere Beispiele dafür, wie es verwendet werden kann ... in Haskell. Die meisten Funktionen, die sie beschreiben, sind bereits in der Clojure-Bibliothek zur Verfügung, aber die Dokumentation ist einfach noch nicht da.
Ich werde Clojure Finger Bäume einführen unter Clojure Konj diesem Wochenende.
Update: Es gibt jetzt einige Beispiele unter http : //github.com/clojure/data.finger-tree#readme
Update: Folien aus der Diskussion: https://github.com/Chouser/talk-finger-tree/blob/master/finger-trees.pdf
Update: Video des Vortrags: http: // www .youtube.com / watch? v = UXdr_K0Lwg4