Re: RM and abstract syntax trees
Date: Wed, 31 Oct 2007 10:23:39 GMT
"David BL" <davidbl_at_iinet.net.au> wrote in message
> On Oct 31, 10:06 am, paul c <toledobythe..._at_ooyah.ac> wrote:
> > David BL wrote:
> > > On Oct 31, 2:46 am, paul c <toledobythe..._at_ooyah.ac> wrote:
> > >> Okay, from your original post:
> > >> "So RM is forced
> > >> to expose the equivalent of pointers directly in the representation.
> > >> Furthermore, the RM has no mechanism for hiding these pointers or
> > >> giving the user an interface that promotes the idea that a node
> > >> logically represents a value."
> > >> Where does RM ever mention pointers? Eg., What are the pointer
> > >> operations that RM supports?
> > > I'm associating a "pointer" with the idea to give a thing (like a node
> > > of an AST) some meaningless identifier, and using that identifier
> > > elsewhere as a means to uniquely reference that thing. With that
> > > *analogy*, RM performs a pointer dereference when performing a natural
> > > join.
> > > ...
> > Sorry if this seems pedantic (which it is) but RM references things
> > uniquely with values.
> I have no problem with you being pedantic and like your comments!
> Yes RM references things uniquely with values, but pointers are "value
> types"! Note the distinction between "pointer-type", "pointer-
> variable", and "pointer-value". When a pointer-variable is assigned
> a pointer-value, the object being referenced only depends on the
> If you want to be pedantic, I would say it has more to do with the
> fact that pointer types have a dereference operator, whereas surrogate
> ids in RM do not. But as I said, I was only drawing an analogy with
> Note that each time a join is used to navigate from parent node to
> child node in an AST, we will typically only get a single tuple in
> the join result. This follows from the integrity constraints (that a
> node must be *exclusive or* a variable, number, addition node etc),
> but more easily can be understood using the analogy with a pointer
> dereference. The set level manipulation capability of RM (one of its
> great virtues) is not being utilised.
> In the end I'm more interested in whether you agree with the
> conclusion : that RM is ill-suited to represent ASTs.
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.
> Received on Wed Oct 31 2007 - 11:23:39 CET
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.