Re: What databases have taught me

Keith H Duggar wrote:
> Marshall wrote:> > What I *dream* of, though, is a language that will have> > built-in, both the functional facilities of a languages> > like SML and the relational algebra, together. Since no> > one seems to be working on this, I'm toying with it> > myself.>> Interesting. Since you still use Java have you taken a look> at Rel?>> http://dbappbuilder.sourceforge.net/Rel.html

I haven't taken a look at Rel, although I have read TTM several
times through. A while back I was trying to look at Alphora,
but I didn't get too far. It's not clear to me how much success
a for-pay language can get when it's competing with the likes
of python, java, ruby, gcc, etc., all free. I should probably look
at rel. What is the constraint system like? Transactions?

Yes, Linq is *fascinating*. The effort is very ambitious. I'm
quite impressed by the thinking behind it. However, it's as
complicated as an aircraft carrier, and I'm still firmly in
the KISS camp. Makes for great reading, though.

> What are your thoughts on this? Have much progress have you> made in your toy language?

Well, some. Lots of thinking. A trial syntax. Some ambitious
ideas. There is an interpreter for it, but it's never fully functional,
as I keep changing my mind about important design decisions.
For example, a few months ago I ripped out default arguments
when I realized they broke associativity of natural join. :-(
Sadly, I'm not very good with formal methods yet, so I don't
have an operational semantics. But it's something I want to do.

Its primitive operators are those of the Tropaskho algebra:
natural join and inner union. The language is pretty much
just: those operators, scope and name binding, the type
system, the imperative commands, and a few bits of
miscellany, such as aggregates/group-by. High up on
the wanted-feature list is constraints and updatable views.
But the precise semantics of view updatability remain
elusive.

It might be ready for the light of day in a few years, or
never. I'm an extremely lazy and unproductive person. Also,
I have "daddy daddy" to contend with. As in, I'm straining
my poor brain to figure out how to implement closures,
and "daddy daddy come look at this picture I drew."
Which is cool in its own way, of course, but impedes
forward progress. Plus, you know, the full time job.

> Do you know of any good Java or C++ libraries that simply> provide relation classes etc along with a relational> library?

You'd think, wouldn't you, that such would be common, if not
actually part of the standard libraries. But no, I have nothing.