Szukam trwałej struktury danych podobnej do tablicy (ale niezmiennej), umożliwiającej szybkie indeksowanie, dołączanie, dodawanie i iterację (dobra lokalizacja).
Clojure zapewnia trwały Vector, ale służy tylko do szybkiego dołączania. Vector Scali ma efektywnie dołączanie i dodawanie w czasie stałym, ale nie mogę zrozumieć, jak jest zaimplementowany, ponieważ jest oparty na tej samej strukturze danych (trie wektorów mapowanych bitowo) co wektor Clojure i, jak rozumiem, trie wektorów mapowanych bitów nie mogę mieć szybkiego przygotowania bez niektórych sztuczek.
Nie jestem zainteresowany gotową implementacją, ale opisem, w jaki sposób samodzielnie wdrożyć taką strukturę danych.