Date: Fri, 18 Sep 2009 08:21:51 -0400
From: David Van Horn <xxxxxx@cs.brandeis.edu>
In short, the space consumption has at worst a logarithmic overhead
compared to a plain ol' list. Right? I'm still not sure I'm answering
the question you're asking.
Yes, you've answered my question. I'm a little concerned now, though,
that the representation you've chosen will cause problems if, for
whatever reason, one tries to store a node as an element of a
random-access list. For example, suppose one has written a debugger
that uses random-access lists, and one is trying to use that debugger
to debug a routine internal to the random-access list library which
has nodes as the values of local variables, which get stored in the
debugger's random-access lists. Code of the form (if (node? t) ... (f
t)) makes me nervous. But I still haven't read the implementation
thoroughly; maybe this isn't an issue.