Re: relations aren't types?

From: Marshall Spight <mspight_at_dnai.com>
Date: Sat, 10 Jan 2004 19:50:10 GMT
Message-ID: <SHYLb.16240$8H.41065_at_attbi_s03>


"John Jacob" <jingleheimerschmitt_at_hotmail.com> wrote in message news:72f08f6c.0401092141.534eb6a1_at_posting.google.com...
>
> For me, the simplest explanation (the one where I finally understood
> the difference) is that if the type specifier describes the structure
> of values of the type, that is logical structure. A relation type
> specifier exposes the attributes of relation values of that type
> (relation { ID : Integer }). An array type specifier exposes the type
> of the elements that values of that type contain (array[Integer]). A
> scalar type specifier is simply the name of the type in question, like
> Integer, Degree, Coordinate, etc. By looking at a scalar type
> specifier, the user cannot determine any logical structure for values
> of that type.

I would like to ask for a bit of clarification on that. I believe I follow what you're saying, up until you list some specific scalar types. "Integer, Degree, Coordinate..." I follow how integer has no logical structure. But the other types you name sound more like user-defined types to me; was that you intent? I can imagine a type Coordinate with two components, x:int and y:int, (as well as associated methods.) That looks like logical structure to me.

To my mind, the types without logical structure are typically those that are system-defined primitives, typically something like: int, float, char, byte, boolean, and probably not many more beyond that. What is your thinking?

Marshall Received on Sat Jan 10 2004 - 20:50:10 CET

Original text of this message