Re: MV Keys

From: Jon Heggland <heggland_at_idi.ntnu.no>
Date: Sun, 12 Mar 2006 12:07:14 +0100
Message-ID: <MPG.1e7e1f4d25e871bb98979e_at_news.ntnu.no>


In article <1142006381.942511.18190_at_v46g2000cwv.googlegroups.com>, marshall.spight_at_gmail.com says...
> And just for fun, here's an alternative semantics for the syntax
> above, in which the parentheses *do* mean the same thing.
>
> (1,b)
>
> Above, "(" means "introduce a new set, cardinality 1, with
> the following attributes."

A set has attributes? No, a set with card 1 has one element. What is that element? Not "an attributes". :)

> { (1,b), (2,a) }
>
> Here, "{" means "introduce a new set of arbitrary cardinality".
> "(1,b)" means the same as it did before, and the comma
> after it means "union".

But then you will have a set of set(s), won't you?

> Ha!

We are bickering over details again. I believe we now agree sufficiently on the important stuff.

> > Sure. I guess what one does in practise, is to use conventional syntax,
> > and just define the result using such relational terms. I.e. more an
> > intellectual game than an actual language design / operator
> > implementation strategy.
>
> That's a bit dismissive, don't you think?

Perhaps. I just don't see this paradigm as very practical, cf. my examples of how verbose the concrete syntax for it might be (not to mention strange and unintuitive for the relation-unaware masses). But it might be like lambda calculus: I wouldn't want to do any actual programming in it, but it might be useful for theoretical research, or as a scientific foundation for a system, cf. Date&Darwen's minimal algebra.

> > There are some who say UPDATE *is* assignment. :) But are you saying
> > that you don't have scalar variables, only relvars? Or that you use
> > UPDATE to change a scalar variable?
>
> Update and assignment are both imperative operators, but they are
> not the same thing.

They say update is a special kind/case of assignment, to be more precise.

-- 
Jon
Received on Sun Mar 12 2006 - 12:07:14 CET

Original text of this message