[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Adjustable and displaced arrays



For references, the following describes how Lisp Machines do displacing.

If array a is created displaced to array b, then there are two items of
interest in this relationship.  (1) Array a is holding onto array b, and
array a has a number stored in it which is the offset into b.

If array b is then adjusted, nothing "physically" happens to array a.
Array a still is still holding onto array b and still has the same
offset within b, independent of what b looked like before and after b
was adjusted.

I order for a to be >>meaningfully displaced<< to b, especially when b
has been adjusted, the rules of row major storage must be taken into
account.  By the above description, people programming LispMs need to
beware, not the people implementing CL for LispMs.