Re: Minor Syntax issues

On Mon, Feb 14, 2005 at 03:58:33AM -0500, Eric Prud'hommeaux wrote:
> > > AND is a special keyword that starts constraints (SUCH THAT would be better
> > > but its two words).
> 
> As English words go, WHERE is my personal favorite:
>   { (?part g:id ?id)
>     (?part g:od ?od) WHERE ?id < ?od
>     (?part p:name "nut") }
> It's nice for mathematicians.

Its fits more closely to SQL semantics too, in my opinion, but its used.
SUCHTHAT would be OK.
 
> Using the []s syntax is more pleasing to my eyes:
>   { (?part g:id ?id)
>     (?part g:od ?od) [?id < ?od]
>     (?part p:name "nut") }

It just doesnt look like a constraint to me.
 
> 
> > >                      Currently in the grammar it is required because ?x-?y 
> > > is unclear : can be "?x binary minus ?y" or two expressions "?x" then 
> > > "unary minus ?y"
> > > 
> > > Proposal: use [] to mark constraints (see below).
> > 
> > I dont like this very much. [] has lots of uses in syntax and programming
> > langages, but none of them relate to contraints in my experience.
> 
> I think the important one is XPath.
>   <xsl:for-each select="/root/element[@foo='bar']"/>

Isn't that with special ref. to attributes? I think CSS has something
similar. I remember it as being like an associative array.
 
> > > [Not sure about typing of function returns which might be lost in such a
> > > scheme.  Does it hurt optimization?]
> > 
> > I dont think so. Maybe makes it a bit harder, but its allready seriously
> > hard.
> 
> I guess every dynamic constraint will be expressed in SQL as a set of
> value pattern constraints. Wow, I hadn't even gone there.

I susepct I'm missing something, dynamic constraint?
 
> > >From before SELECT seems fine, its the other way round in SQL, but the SQL
> > FROM is very different. OTOH I prefer LIMIT at the end, as its parallel
> > with SQL is direct.
> > 
> > Incidentally, I dont think of LIMIT as modifying SELECT, I think of it as
> > modyfying the result set.
> 
> I think the same is true in SQL. LIMIT and GROUPing aren't in
> relational calculus. I bet SQL defines a solution as the result of
> LIMITing/GROUPing/COUNTing performed after the relational part is
> done. Anyone know where I can get a copy of, say, the SQL 92 spec?

How else would I get to sleep at night?
http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt
Its not the final published form, but its very close IIRC.

- Steve

Received on Monday, 14 February 2005 09:58:46 UTC