Re: relations aren't types?

From: John Jacob <jingleheimerschmitt_at_hotmail.com>
Date: 8 Jan 2004 08:41:43 -0800
Message-ID: <72f08f6c.0401080841.452a275f_at_posting.google.com>


> > You mean the scalar type generator.
>
> Nope. I mean using the productions of the language. No generator is required
> because expressions involving no generic types or operations cannot generate
> any new types.

Then how do I define a new scalar type! If a generator is not required then you do not support user-defined scalar types, as required by prescription 1 of TTM.

> > > Which type generator? There are several.
> >
> > Yep, and scalar is one of them.
>
> No, sorry, but your assertion is simply incorrect. Specific declared types
> do not need generators. Generic types and generic operations define
> generators.

Specific declared types do not need generators, but they do need a specifier, a scalar type specifier to be specific. And if I want to declare new scalar types I *must* have a scalar type generator.

> How would the user define a new type generator?

Strictly speaking this is not required, but could certainly be allowed by the language.

> > > > Do we not need user-defined ...
> > > > types?
> > >
> > > Yes, of course. I have never suggested we do not.
> >
> > Then we need a type generator that is different from the relation and
> > tuple type generators.
>
> We need all kinds of type generators, but user-defined types do not require
> any particular type generator, per se.

You are dead wrong. A scalar type generator is required in order to generate scalar types.

> > There *are* values that are not relation or tuple values. What should
> > we call these kind of values? Hey, how bout scalar.
>
> How about values? I think it absurd to consider array scalar and tuple
> non-scalar.

Array is not a scalar type. It has user-visible components and is therefore non-scalar. You really need to read Chapter 6, specifically the discussions for prescriptions 1 through 5. You are thouroughly confused about what TTM is proposing in this regard, and you are proliferating that confusion.

> > > > So I'll ask you once again, What does a relational language that does
> > > > not differentiate between scalar types and relation types look like?
> > >
> > > Like any relational language.
> >
> > Sort of like Tutorial D, with a scalar type generator.
>
> Tutorial D creates an artifice in its grammar to account for the requirement
> that global variables must be relation variables. I suggest using "scalar"
> in the name of the production was a poor choice that only confuses issues.

You cannot write off 20 productions in the language, including one very conspicuously named <user scalar type def>, and 8 prescriptions specifically dealing with scalar types, values, and variables as a poor choice. You have yet to demonstrate that scalars (as defined by the manifesto, not your understanding of the term, which is clearly flawed) are *not* useful. Indeed they are quite useful, I use them every day. Received on Thu Jan 08 2004 - 17:41:43 CET

Original text of this message