Lambda the Ultimate

inactiveTopic Relational Programming (whatever happened to...)
started 11/11/2002; 2:40:10 PM - last post 11/19/2002; 2:15:57 PM
Isaac Gouy - Relational Programming (whatever happened to...)  blueArrow
11/11/2002; 2:40:10 PM (reads: 558, responses: 7)
Don't know anything about this, and I'm about to conflate relational calculus (a la Codd & Date) and relational algebra. But I'm only a programmer so if I squint they look similar... and I start to wonder how it would be to use relational operations instead of iterating over collections (with a loop or with a recursive function).
Maybe I'm just looking for another angle on the language/database mismatch - instead of making the database OO, make the language relational ;-)

Relational Algebra, Drusilla, Libra

Noel Welsh - Re: Relational Programming (whatever happened to...)  blueArrow
11/12/2002; 2:49:00 AM (reads: 557, responses: 1)

The relational calculus and the relational algebra are equivalent in expressive power but IIRC you can't express one using the other. There really isn't any difference between using a recursive function, a set comprehension or a relational operation to express operations over a collection - they are all declarative expressions.

You might want to check out:
Structural Recursion as a Query Language
Val Tennen and Peter Buneman and S. Naqvi
1991

I'm too lazy to link to CiteSeer. ;-)

Ehud Lamm - Re: Relational Programming (whatever happened to...)  blueArrow
11/12/2002; 2:52:26 AM (reads: 586, responses: 0)
Here you go: http://citeseer.nj.nec.com/breazu-tannen91structural.html

Isaac Gouy - Re: Relational Programming (whatever happened to...)  blueArrow
11/12/2002; 10:56:54 AM (reads: 545, responses: 1)
Thank you kindly, I found Structural Recursion as a Query Language interesting. And it led me to a whole pile of stuff from the Penn Database Research Group.

But where do I download the programming language?
I half-expect the response to be "From this link, it's Scheme" ;-)
Where's the programming language with the semantic simplicity of relational algebra, and the expressive power of unrestricted programming languages?

I'm referring-back to LL2 and the idea that language design should address real problems; impedance-mismatch between language and database seems like a real problem every-time.

Christian Lindig - Re: Relational Programming (whatever happened to...)  blueArrow
11/12/2002; 6:47:34 PM (reads: 542, responses: 0)
I'm referring-back to LL2 and the idea that language design should address real problems; impedance-mismatch between language and database seems like a real problem every-time.

I would like to back this up. Todd Proebsting's talk at LL2 provoked a lot of people to think about language design, telling from the number of people talking to him afterwards. It does not seem clear whether we need new languages or just better libraries. In the past I was always impressed by the flexibility of Haskell to accomodate new sub languages. Maybe we just need more flexible syntax.

Noel Welsh - Re: Relational Programming (whatever happened to...)  blueArrow
11/13/2002; 2:28:14 AM (reads: 588, responses: 0)

I half-expect the response to be "From this link, it's Scheme" ;-)

Well you're half right. I can across this research when writing a paper on SchemeQL. I'm pleasantly surprised that Scheme addresses many of problems that Todd raised in his talk.

Isaac Gouy - Re: Relational Programming (whatever happened to...)  blueArrow
11/13/2002; 10:39:40 AM (reads: 516, responses: 0)
Well you're half right Better than I usually manage.

That's a rich discussion, I'll chew on it for a while.

Isaac Gouy - Re: Relational Programming (whatever happened to...)  blueArrow
11/19/2002; 2:15:57 PM (reads: 481, responses: 0)
Oh. The core language of Mozart/Oz is a a purely relational language?

"Oz Core is a sublanguage of Oz designed to minimize syntactic complexity. Oz Core serves as the base for the definition of the semantics of Oz... Being a purely relational language, however, Oz Core does not provide easy notational access to programming methods from these paradigms, making it hard to fully exploit the capacities of the language."