Vadim Antonov's Grail

Laurent Martelli
05 Jan 1999 21:45:54 +0100

>>>>> "David" == David Jeske <> writes:

    David> On Tue, Jan 05, 1999 at 07:15:25PM +0100, Laurent Martelli
    David> wrote:
    >> 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.