Re: About grammar and syntax on a possible relational language

From: JOG <jog_at_cs.nott.ac.uk>
Date: Thu, 13 Mar 2008 12:30:50 -0700 (PDT)
Message-ID: <20c66414-0447-43b8-84d6-8f5e525869d3_at_s19g2000prg.googlegroups.com>


On Mar 12, 2:33 pm, Cimode <cim..._at_hotmail.com> wrote:
> On Mar 11, 5:38 pm, Cimode <cim..._at_hotmail.com> wrote:
>
> > > Why not:
> > > [MAKE RICH_EMPLOYEE = {EMPLOYEE WITH SALARY > 100000}]
> > > (with curly braces around the derivation expression)? It seems a
> > > little "off" to use them only sometimes.
>
> > Because I reserved '[]' to relation operation and '{}' to relation
> > definition. I will keep the remark in mind though
>
> To be more explicit {} is attribute level manipulation and [] is
> relation level manipulation to keep the language as versatile as
> possible. For example
>
> [MAKE R0 = {ATTRIBUTE0_1, ATTRIBUTE0_2}]
> [MAKE R1 = {ATTRIBUTE1_1, ATTRIBUTE1_2}]
> [MAKE R2 = R0 UNION R1]
> PRESENT2D [R2]
Few comments for you. Looks sound enough, but do you even need the word "MAKE" (and why the capitals?). I also fear that the square brackets around statements will make code look more confusing than need be - are they really necessary (I understand they inidicate a "relation expression").

You also mentioned that for constraints you use |constraint| - I'd personally avoid that, given the use of the bar symbol in logical disjunction. Whats wrong with good old parentheses used when necessary?

>
> does the same thing as
>
> PRESENT2D [{ATTRIBUTE0_1, ATTRIBUTE0_2} UNION {ATTRIBUTE1_1,
> ATTRIBUTE1_2}]
As with TroyK, I found "present2d" to be a bit offputting. In your initial examples I'd recommend just calling it "present"? Capitals also give me flashbacks of Cobol PIC's, so I'd personally go lowercase too ;)

Just my 2p worth.

>
> It is also about the coherence of the computing model behind. The
> input of the media layer is necessarily a relation. The input of the
> logical layer may either be a relation or an attribute set.
Received on Thu Mar 13 2008 - 20:30:50 CET

Original text of this message