This is really a Scheme question, but I would be interested if any CL
compilers handle the situation outlined below.
According to R5RS, (make-vector n) returns a vector of size n with
each slot initialized to an unspecified value. I would like to use a
very large vector to index some data by using the vector as a hash
table. The question is, when I retrieve something from the vector, can
I determine whether the value is the unspecified initial value or
something I stored there myself? I am thinking of something like
consing a unique pair and using that as a marker for valid entries.
Another issue is the initialization: I would not like the large vector
to be explicitly initialized. Does a notorious "sufficiently smart"
implementation exist that would use something like zeroed-on-demand
virtual memory pages provided by the operating system, instead of
explicitly touching every element of the vector?
--
pertti