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

From: vc <>
Date: 23 Jun 2005 05:36:20 -0700
Message-ID: <>

Jan Hidders wrote:
> VC schreef:
> > "Jan Hidders" <> wrote in message
> > news:0ssue.127522$
> > >
> > > The expression "for each x in e1 print e2" denotes "[ e2 | x <- e1 ]". Why
> > > do you think that apart from this there is some need to give a separate
> > > definition of "what print is in DAPLEX"?
> >
> > OK, let's assume you are right and the expression means what you are saying
> > it means, namely e2 is just a copy of e1, nothing more.
> ?? What do you mean with "e2 is just a copy of e1"? These can be and
> usually are very different expressions.

Ok, I think we are getting somwhere now that we are down to concrete formulas. You claimed previously that print is just an identity [*and* I assumed there was nothing else, no other function to apply]. Therefore, e2 == x, therefore, the target list is obtained by applying identity is the original list. I should have been more careful and said "the list obtained by applying e2 to the elements of the list defined by e1" instead of just "e2 is a copy of e1". I apologize for imprecise language. So, now we have the translation:

"for each x in e1 print e2" ==> [ e2 | x <- e1 ]"

Let's assume that e2 = getName x. The target list will then evaluate to:

["John", "Peter",...,"Luke"]. Still no characters on the screen. How come ?

> > A simple
> > experiment would show there is somethng else going in addition to merely
> > mapping the original list to its copy.
> The list is only mapped to its copy if the function \x.e1 ('\' denoting
> lambda) is the identity function and that is of course not necessarily
> true. Perhaps you are confused by the Haskell notation here?

See above. I corrected my mistake.

> -- Jan Hidders
Received on Thu Jun 23 2005 - 14:36:20 CEST

Original text of this message