For the kind of data I am working with, immutable vectors look like just the right choice: immutable and O(1) element access. However, I am discovering that they are a real pain to work with.
Pretty much any vector operation returns a mutable vector: vector-map, vector-drop, vector-split-at, etc. I have to use vector->immutable-vector afterwards to get what I want. That's a lot of code clutter, and a lot of unnecessary object generation. Getting data from a stream into an immutable vector is the worst: it requires two intermediates: sequence->list, list->vector, vector->immutable-vector. So I am beginning to wonder if immutable vectors are some obsolete feature that is being discouraged. Is there a better choice for an immutable sequence with O(1) element access? Konrad. ____________________ Racket Users list: http://lists.racket-lang.org/users