Artifact 31b8c2e8502900b9367042d333e34517c4db0dc7ac099825d8b173064f5940db:
- Executable file
r37/lisp/csl/jlisp/STRATEGY
— part of check-in
[f2fda60abd]
at
2011-09-02 18:13:33
on branch master
— Some historical releases purely for archival purposes
git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk/historical@1375 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 772) [annotate] [blame] [check-ins using] [more...]
Strategy for preserving a heap image... (a) S = HashTable() // "stack" (maybe have one for cons, one for symbol // and one for vectors?) V = HashTable() // "visited" V2 = HashTable() // "visited twice" for each root, insert item into S, insert item into V while S is non-empty do p = an item removed from S for each x referred to be p [note: referred to may be modified for Cons cells to iterate down lists here] if x is in V then if x is not in V2 then insert x into V2 else insert x into S and V [each item stored in V2 is <item, number> where the number is an index]