Re: Does Codd's view of a relational database differ from that ofDate&Darwin?[M.Gittens]
Date: 25 Jun 2005 10:05:45 -0700
Jan Hidders wrote:
> Marshall Spight wrote:
> > I went through a big round-and-round on this on comp.lang.functional
> > a few years back. You're right in that it is "commonly accepted"
> > to lump both input and output together as things that break RT,
> > but in fact, only input breaks it, by definition.
> Just for my understanding, by "input" you mean "reading the global
> state" and by "output" you mean "changing the global state"?
Yes. Specifically, reading global variables or reading from an input stream, vs. writing to global variables or writing to an output stream.
> And by
> "break RT" you mean that the substitution of a variable with its value
> can change the semantics of the program, right?
By break I mean "fail to meet the definition of." I've never seen a definition of RT that mentions programs; it's always been about the return values of a function. I realize that one may consider a function to be a program, but I believe in this case the distinction is useful.
> And are we talking about
> a closed system (only the program can change the global state) or an
> open system (there may be agents outside the system/program that can
> change the global state)?
That's unfortunate. I'll try to be more placid.
> but at
> the same time I don't really see a big difference in your opinions.
> Could it be that the disagreement is largely on how to define certain terms?
Yes, definitely. If we consider the state of the printer to be one of the return values of a function, (specifically the "return values" mentioned in the definition of RT) then certainly VC's way of looking at it applies. I just don't think that RT really means anything anymore once you do that, because we cannot then state categorially that any function is RT without considering the state of the universe.
Marshall Received on Sat Jun 25 2005 - 19:05:45 CEST