Re: RM and abstract syntax trees

From: Marshall <>
Date: Wed, 31 Oct 2007 14:48:40 -0000
Message-ID: <>

On Oct 31, 5:31 am, David BL <> wrote:
> On Oct 31, 7:23 pm, "David Cressey" <> wrote:
> > In this whole discussion, I have a big problem understanding what is meant
> > by "the equivalent of pointers". A pointer is NOT an arbitrary meaningless
> > identifier. A pointer is an address. If you assign an arbitrary meaningless
> > identifier to an object for reference purposes, that is NOT the same thing
> > as referencing the object via a pointer.
> > If you need the concept of arbitrary meaningless identifier in order to make
> > a point about how RM represents trees, go ahead. Just don't call them
> > "pointers" and don't assert that they are the quivalent of pointers when
> > they are not.
> Pointer taken!
> So you want to reserve the word "pointer" specifically to where a
> memory address is involved on a Von Neumann architecture?

That's a little narrow. I think the issue you mentioned earlier, the reference/dereference operator, is more important. Note also that a pointer is something that is only useful in the context of a particular address space; without the address space the pointer might as well be a random number. Whereas a foreign key does not so readily lose its meaning.

> Since I was only drawing an analogy, I don't particularly see the
> merit in being careful with the distinction between "pointer" and
> "reference".

I think it's safe to make the analogy. But don't lose the fact that the analogy doesn't make them the same.

> However, I don't think it's bad at all that you want to be precise
> with terminology.
> I could formalise "the equivalent of pointers" by defining an
> isomorphism between a C based pointer implementation of an AST, and an
> RM representation using arbitrary meaningless node identifiers, and
> where pointer dereferences in the C implementation map to
> corresponding joins in the RM representation.

I am skeptical that such an isomorphism exists.

Marshall Received on Wed Oct 31 2007 - 15:48:40 CET

Original text of this message