(index ("make-sparse-vector" 0) ("sparse-vector?" 0) ("sparse-vector-ref" 0) ("sparse-vector-set!" 0) ("sparse-vector->list" 0))
(def (sig (procedure " (make-sparse-vector [DEFAULT])" (id make-sparse-vector)) (procedure " (sparse-vector? x)" (id sparse-vector?)) (procedure " (sparse-vector-ref sparse-vector k)" (id sparse-vector-ref)) (procedure " (sparse-vector-set! sparse-vector k value)" (id sparse-vector-set!)) (procedure " (sparse-vector->list sparse-vector)" (id sparse-vector->list))) (p (tt "make-sparse-vector") ", " (tt "sparse-vector-ref") " and " (tt "sparse-vector-set!") " are analogous to " (tt "make-vector") ", " (tt "vector-ref") " and " (tt "vector-set!") ", except that the indices passed to " (tt "sparse-vector-ref") " and " (tt "sparse-vector-set!") " can be arbitrarily large.") (p "The optional " (tt "DEFAULT") " argument to the " (tt "make-sparse-vector") " procedure specifies the default value for indices whose elements have not been set. If the element at index " (tt "i") " has not been set, " (tt "(sparse-vector-ref i)") " returns " (tt "DEFAULT") " or #f, if " (tt "DEFAULT") " was not specified when creating the vector.") (p (tt "sparse-vector->list") " is for debugging: It returns a list of the consecutive elements in a sparse vector from 0 to the highest element that has been set. Note that the list will also include all the #f elements for the unset elements.") (p (tt "(set! (sparse-vector-ref sparse-vector index) value)") " is supported."))
