Re: Declarative constraints in practical terms

From: David Cressey <dcressey_at_verizon.net>
Date: Tue, 28 Feb 2006 14:47:04 GMT
Message-ID: <InZMf.2897$dj2.254_at_trndny04>


"x" <x_at_not-exists.org> wrote in message news:du1lbc$703$1_at_emma.aioe.org...
>
> "David Cressey" <dcressey_at_verizon.net> wrote in message
> news:7AXMf.2277$dj2.151_at_trndny04...
> >
> > "x" <x_at_not-exists.org> wrote in
> >
> > > Do you know the difference between a command and a statement ?
> >
> > Is a FORTRAN statement a command? If so, why did they call it a
> > "statement"?
>
> I know you were involved in some pioneering work in AI.
> If you have an opinion on declarative vs. imperative please share it.
>

I'm not going to elevate my participation in the invention of MDL to the status of "pioneering work in AI".
As I said earlier, I built the MDL garbage collector. That takes somebody smart enough to do it, and dumb enough to think that it's important.

Sussman and Hewitt were both in the AI group. Sussman went on to invent Scheme, and Hewitt had already invented Planner, at least in concept, before the MDL project. Reeve, Daniels, and myself were in a group called, "The Dynamic Modeling group", and we were in search of a language better suited for dynamic modeling than the ones we were faced with.

Dynamic Modeling is not AI. In fact, given what I've learned about modeling and about dynamic methods since 1971, I have to wonder what we were thinking about when we tried to create an environment for "dynamic modeling". That's another topic.

Let me get back to your question.

I think the difference beween declarative mood and imperative mood is more subjective than we like to admit. In particular, I believe that, in competent translation between thoughts in one natural language and another, a declarative statement might be translated as an imperative or vice versa. That's controversial, to be sure.

I think the difference between description and prescription is a bit less subjective, but still somewhat subjective. I think that the people who talk about "what rather than how" are addressing the difference between prescription and description.

I think that, in the limited world of SQL, it's easy to migrate back and forth between prescription, as illustrated by CREATE commands, and description, as illustrated by metadata. Several contributors have come forward to point out, correctly, that all the major DBMSes provide this capability.

I think the broad advance of programming languages, since World War II, has been to take certain prescriptive aspects of the language, and render them in a descriptive form. Then let the compiler (or a run time optimizer) figure out a prescriptive equivalent. I think that's in general a good thing to do. Like all good things, there are examples of it being carried too far, to the point of being counter productive.

I've just about exhausted what's going on in my brain on this subject.

What's going on in yours. Received on Tue Feb 28 2006 - 15:47:04 CET

Original text of this message