Re: relations aren't types?

From: John Jacob <jingleheimerschmitt_at_hotmail.com>
Date: 10 Jan 2004 21:27:08 -0800
Message-ID: <72f08f6c.0401102127.348dcf43_at_posting.google.com>


> 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.

The logical structure of a given scalar value must be determined by examining the type definition, not the type specifier. In that sense, the logical structure is hidden by the type. In addition, a given scalar value may have multiple possible representations, each having different logical structure. So it's not that a scalar type has logical structure, it's that the possible representations of the scalar type have logical structure.

> 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?

To me, types like Date and Time, and even user-defined scalar types are just as primitive as int, float, etc. We can have a Date value, and it's not important what it's logical structure is. We just know that we have operators that can manipulate the value in question. Time does have a compound representation which has logical structure, such as Hour 10, Minute 10, Second 10, but it also has a simple string representation such as '10:00:00'. This disconnect between values and representations is the real power of the scalar types described in TTM. Received on Sun Jan 11 2004 - 06:27:08 CET

Original text of this message