Re: Does Codd's view of a relational database differ from that ofDate&Darwin?[M.Gittens]

From: vc <>
Date: 23 Jun 2005 13:11:30 -0700
Message-ID: <>

Jan Hidders wrote:
> vc wrote:
> Where in the description of the semantics of DAPLEX did it say that the
> result must be actually printed on a screen?

You are sidetracking here. I did not claim that the result *must* be printed on the screen. My claim, so far, has been that since 'print' is a pure and unmitigated imperative word, the whole construct ('for each ... print') should be treated as having side effects, that is, non-declarative.

The same holds true for the 'return' in XQuery (sorry I missed your earlier message asking why I do not think XQuery is pure declarative).

> But even if that were so, (it's not how people interpret it now, but it
> is quite possible that is how most thought about it when the language
> was defined) do you really think that whether things are printed on
> screen or just in general produced as output is an essential part of the
> query language? Would the language change radically if we changed that?
> Would it then become much more declarative? Would we then be able to do
> much more optimizations than before?

Well, referential transparency advantages are common knowledge and the answer to all your questions above are 'yes'(in the first question, it does not matter what you call your output thingy, 'print' or something else, as long as it has a side effect). If you eliminate side effect features from Daplex, only then you can say that it's a declarative language. Until then, it's a mixed one probably tilting towards declarativity.

> I don't think so, and if in
> addition to that you take into account that declarativity is a relative
> notion anyway, the claim that it is a declarative language would still
> be quite valid.

What's relative about FOL declarativity, or the language you've mentioned before, Haskell ? Please elaborate.

> -- Jan Hidders
Received on Thu Jun 23 2005 - 22:11:30 CEST

Original text of this message