This library provides an implementation of semi-persistent arrays. Semi-persistent arrays present functional get and set operations that return new arrays efficiently, but existing arrays may be modified under the covers during construction of new arrays. Thus the data structure is persistent, but neither thread safe nor implemented in a purely functional manner. See A Persistent Union-Find Data Structure by Sylvain Conchon and Jean-Christophe Filliâtre for more details.
size : fixnum? build-item : (-> exact-nonnegative-integer? any/c)
> (define changed-arr (p-array-set (make-p-array 5 values) 4 'foo)) > (p-array-ref changed-arr 4)