28

Le nouveau groupe de bibliothèques contrib de Clojure a un finger treelibrary. Quels sont les cas d'utilisation des doigts dans les clojures? Quand faut-il utiliser les arbres à doigt plutôt que l'une des autres structures de données de clojure: vecteurs, ensembles, cartes, persistantes, etc.À quoi dois-je utiliser les doigtés de Clojure?

Le Joy of Clojure mentionne que les arbres Finger peuvent être utilisés pour des collections indexées où des insertions et des suppressions bon marché sont requises. Ils ont également été décrits comme le «couteau suisse des structures de données». Des exemples de ceci seraient très appréciés.

+6

Rechercher Ma, J'ai un nouveau marteau! La télévision ressemble à un clou :-). – Ralph

Répondre

26

2 à 3 doigts sont décrits dans un paper by Ralf Hinze and Ross Paterson. Ils fournissent non seulement une description complète de la structure de données elle-même, mais plusieurs exemples de la façon dont il peut être utilisé ... dans Haskell. La plupart des fonctionnalités qu'ils décrivent sont déjà disponibles dans la bibliothèque Clojure, mais la documentation n'est tout simplement pas encore disponible.

Je vais présenter les arbres à doigts Clojure au Clojure Conj ce week-end.

Mise à jour: Il y a maintenant quelques exemples présentés à http://github.com/clojure/data.finger-tree#readme

Mise à jour: diapositives de la conférence: https://github.com/Chouser/talk-finger-tree/blob/master/finger-trees.pdf

Mise à jour: Vidéo du discours: http://www.youtube.com/watch?v=UXdr_K0Lwg4

+2

J'aimerais pouvoir être là. Pouvez-vous être tordu à mettre vos diapositives sur le web plus tard? –

+1

Je crois que les diapositives * et * les vidéos seront disponibles après la conférence. – fogus

+0

@fogus @Rob En effet, j'ai reçu la confirmation il y a quelques jours que les pourparlers seront enregistrés. – Rayne