Re: RM and abstract syntax trees

From: Marshall <marshall.spight_at_gmail.com>
Date: Sat, 10 Nov 2007 05:52:07 -0000
Message-ID: <1194673927.437106.180550_at_e34g2000pro.googlegroups.com>


On Nov 9, 8:38 pm, David BL <davi..._at_iinet.net.au> wrote:
> On Nov 10, 12:33 pm, Marshall <marshall.spi..._at_gmail.com> wrote:
> > On Nov 9, 4:15 pm, David BL <davi..._at_iinet.net.au> wrote:
> > > On Nov 10, 7:29 am, "David Cressey" <cresse..._at_verizon.net> wrote:
>
> > > > One of the fundamental properties of a pointer is that you can "dereference"
> > > > it by using it as an address in an address space, in order to retrieve the
> > > > thing pointed to directly. There is no corresponding property in
> > > > sequentially generated arbitrary meaningless identifiers.
>
> > > The mathematician in me axiomatizes the concept of pointer in terms of
> > > its abstract properties, which (ignoring null pointers) are
>
> > > 1) the existence of an associated address space, which is just a
> > > set of objects
> > > 2) a bijection between objects in the address space and pointer
> > > values
> > > In one direction this bijection is "address of" and in the
> > > other
> > > it is "dereference"
> > > 3) the ability to compare pointer values
>
> > > This encompass physical address spaces, virtual address spaces, C++
> > > smart pointers, persistent OIDs and pointer swizzling etc.
>
> > > It also encompass node identifiers of an AST if we regard the DB as
> > > defining an address space of AST nodes, and an appropriate select
> > > query represents a dereference that logically binds to precisely one
> > > node of the AST.
>
> > One can make an abstraction in which pointers and
> > keys are the same, simply by abstracting over their
> > differences. But if one does that, that doesn't mean
> > that the underlying unabstracted differences cease
> > to exist.
>
> Don't you mean abstracting over similarities?

The dictionary is somewhat unclear. Perhaps it would have been better if I had said "abstract away" instead of "abstract over."

> I don't want to put words in your mouth but an analogy of what you are
> saying is that both the following are metric spaces
>
> R^2 with d1(x,y) = Euclidean distance
> R^3 with d2(x,y) = Manhattan distance
>
> and yet (R^2,d1) is quite different to (R^3,d2). Of course! So
> what? They are still metric spaces.
>
> Do I misunderstand you?

I don't think so. However in the above analogy you seem to be assuming that thinking about the above as metric spaces is the only possible perspective.

> > > My perspective conflicts with your statement above.
>
> > Your perspective is relative to your "axiomatization,"
> > not to the relational model; it cannot speak to the
> > attributes of the model that your axiomatization
> > does not capture.
>
> So? If X satisfies all the axioms of Y then X is a Y.

Yes, however that is not the argument you are making. You are saying, if X satisfies all the axioms of Y and W satisfies all the axioms of Y, then X = W. Which doesn't hold.

> It is easy to
> define a pointer value type and its dereference operator on an RDB
> representing an AST.
>
> I think the distinction you make is merely syntactic. ie there is no
> simple syntax in your favourite relational language that resembles the
> pointer dereference.

"Merely" syntactic?! I think you underestimate the power (and I mean *computational* power) of syntax. Type systems are syntactic, for example.

> IMO you have yet to show an example where there are dangers in
> thinking of node identifiers as pointer values.

Thinking something is the same as something it's not always has at least a *little* danger. From false assumptions one can prove anything.

> You have suggested
> it is the case, but your justification seems to have relied on the
> idea that a pointer value is only meaningful in its associated address
> space which is volatile.

Ugh. The whole thing is very tiresome. I have made quite a few distinctions besides just that one. I've said repeatedly that there are many similarities. I've even said that one can make an (incomplete) abstraction in which they are the same. But apparently that's not enough for you, and you want me to say they are the same in all ways, which they are not.

I think I've said everything I want to say now.

Marshall Received on Sat Nov 10 2007 - 06:52:07 CET

Original text of this message