Подтвердить что ты не робот

Для чего нужно использовать Clojure деревья пальцев?

Clojure Новая группа библиотеки Contrib содержит дерево пальцев library. Каковы варианты использования пальцевых деревьев в clojure? Когда нужно использовать пальцевые деревья вместо одной из clojure других строгих структур данных: векторов, множеств, карт, постоянных объектов и т.д.

Радость Clojure упоминает, что деревья пальцев могут использоваться для индексированных коллекций, где требуются дешевые вставки и удаления. Они также были описаны как "швейцарский армейский нож данных". Примеры этого были бы очень оценены.

4b9b3361

Ответ 1

2-3 пальцевых дерева описаны в документе работы Ральфа Хинзе и Росса Патерсона. Они предоставляют не только полное описание самой структуры данных, но и несколько примеров того, как ее можно использовать... в Haskell. Большинство функций, которые они описывают, уже доступны в библиотеке Clojure, но документация просто еще не существует.

Я представлю Clojure деревья пальцев в Clojure Conj в эти выходные.

Обновление: Теперь есть несколько примеров, показанных на http://github.com/clojure/data.finger-tree#readme

Обновление: Слайды из разговора: https://github.com/Chouser/talk-finger-tree/blob/master/finger-trees.pdf

Обновление: Видео разговора: http://www.youtube.com/watch?v=UXdr_K0Lwg4