how do I create a large vector in clojure

clojure

Solution

It seems that vectors are not sparse so you must specify a value for each index when you create the vector. The easiest way seems to be to call (vec ) on a sequence.

(vec (repeat 1042 nil))

These values are not created lazily it seems.

Problem

How do i allocate a vector with 1042 empty indexes? Will the storage for it be lazily allocated? like this ``` (def a (array-creation-function 1042)) (def b (assoc a 1041 42)) (b 1041) --> 42 ```

Original source