Saya mencari struktur data persisten yang mirip dengan array (tetapi tidak bisa diubah), memungkinkan untuk pengindeksan cepat, menambahkan, prepend, dan operasi iterasi (good locality) operasi.
Clojure menyediakan vektor persisten, tetapi hanya untuk penambahan cepat. Scala's Vector secara efektif menambahkan dan menambah waktu, tetapi saya tidak dapat menerapkannya, karena ini didasarkan pada struktur data yang sama (bit-mapped vector trie) seperti vektor Clojure, dan, seperti yang saya mengerti, bit-mapped vector trie tidak dapat memiliki cepat cepat tanpa beberapa trik.
Saya tertarik bukan pada implementasi siap pakai tetapi pada deskripsi bagaimana mengimplementasikan struktur data sendiri.