Vadim Antonov's Grail
05 Jan 1999 21:45:54 +0100
>>>>> "David" == David Jeske <firstname.lastname@example.org> writes:
David> On Tue, Jan 05, 1999 at 07:15:25PM +0100, Laurent Martelli
>> Something like Lisp's lists seem sufficient to build any data
>> structure that you may dream of.
David> a stream of bits is sufficient to build any data-structure
David> you may dream of, yet it might not be the right abstraction
David> for the job.
David> Lisp's lists are not suited to building any data-structure,
David> for reasons that yourself pointed out with a C
David> example. Just like your exmple of not being able to extract
David> parallelism out of a C for() loop because the for loop
David> implies sequential execution, there are optimizations which
David> you can not extract out of a list in Lisp because of the
David> things it implies.
David> What if I don't need the 'order' that a LISP list provides?
David> Too bad, it's there anyhow. If I build something like an
David> associative array out of lisp lists, it will be riddled
David> with implications which were not relevant.
This seems to be a consequence of the underlying physical memory that
is used. But anyway, since every access to data structures are done
via a function call, you can simulate unordered collections even if
they are implemented via ordered ones.