Re: foundations of relational theory?

From: Christopher Browne <cbbrowne_at_acm.org>
Date: 29 Oct 2003 13:43:57 GMT
Message-ID: <bnog6s$134iv8$2_at_ID-125932.news.uni-berlin.de>


Martha Stewart called it a Good Thing when"Marshall Spight" <mspight_at_dnai.com>wrote:
> "Mike Preece" <michael_at_preece.net> wrote in message news:1b0b566c.0310282146.902de1e_at_posting.google.com...
>> "Marshall Spight" <mspight_at_dnai.com> wrote in message news:<hCwnb.38621$9E1.148443@attbi_s52>...
>> I'd go so far as to say that, provided the programmer is aware of the
>> format, it's pretty damn handy at dealing with *any* ASCII string -
>> regardless of where it came from or where it's going.
>
> There are a number of languages out there that target String
> processing specifically. The most well-known is Perl, but I do not
> consider Perl a particularly praiseworth language. The most
> interesting is probably Icon. Despite its age, it is still quite
> interesting from the standpoint of the number of interesting things
> it does really well, such as generators, backtracking, and
> coroutines. (Note that popular languages such as C++ and Java do not
> have any of these features. Python has generators.) I've never heard
> any official confirmation of this, but it certainly appears to me as
> if much of Perl's string processing features derive from Icon
> (possibly indirectly.)

When Python implemented generators, they were definitely conscious of Icon. I don't think Larry Wall was particularly conscious of Icon when designing Perl, though.

> Some people like Python for string processing, and a lot of people
> like Python for just about anything. I must admit it has many
> attractive features.

It certainly has a cleaner "look" than Perl.

> Also in the OO canon is Eiffel, which has Design By Contract. I
> think DBC would be an excellent fit for a RDBMS-oriented language.

Interesting thought. It certainly fits with the notion of declaring constraints.

> Lisp and Scheme have features such as continuations, lambdas, and
> macros. (Lisp macros are on a whole different plane from C macros; I
> admit I do not begin to fully understand them.) CommonLisp has the
> "Meta Object Protocol."

MOP would seem pretty orthogonal to all this, as would Lisp macrology. They are exceedingly powerful features for reshaping the environment, albeit with the assumption that the environment is a Lisp programming environment.

The "slick" part that is of some practical use is that there are macro/CLOS implementations of database wrappers that allow virtually all of the 'data persistence' code hide away from you. (un)CommonSQL tries to build a way of manipulating SQL queries in "true Lisp style," I am not sure how successfully.

> Languages like the ML family (which includes OCaml) and Haskell have
> Hindley-Milner type systems and type inference. I'm quite interest
> to learn more about type inference; it may be a great fit for
> relational. These languages also have excellent HOF support.
> Haskell includes a pure functional sublanguage, and monads.

I suspect OCaml would be really interesting to integrate in as a "PL/CAML-SQL".

-- 
wm(X,Y):-write(X),write('_at_'),write(Y). wm('aa454','freenet.carleton.ca').
http://cbbrowne.com/info/languages.html
Nobody can fix the economy.  Nobody can be trusted with their finger
on the button.  Nobody's perfect.  VOTE FOR NOBODY.
Received on Wed Oct 29 2003 - 14:43:57 CET

Original text of this message