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

Re: Data-types for "descending" during copying



Interlisp has three copy operations:
COPY - copies tree down to NLISTPs.

COPYALL -- attempts to copy ALL non-LITATOM/SMALLP structures, 
	including arrays, strings (new string, same chars), user defined
	data types, hash arrays (copies both keys and values), readtables,
	bignums, etc. It fails (I believe by causing an error) if it  sees
	a pointer into the middle of an array, or other illegal Lisp pointer.

HCOPYALL -- similar to COPYALL, but attempts to preserve circular
	data structures. Requires internal storage proportional to the size
	of the data structure being copied (it maintains a hash table of
	visited nodes).