Re: The naive test for equality

From: David Cressey <david.cressey_at_earthlink.net>
Date: Tue, 09 Aug 2005 05:52:22 GMT
Message-ID: <qwXJe.2850$RZ2.2068_at_newsread3.news.atl.earthlink.net>


"Marshall Spight" <marshall.spight_at_gmail.com> wrote in message news:1123516890.932363.109840_at_f14g2000cwb.googlegroups.com...

> > So the process of normalizing is choosing one, out of an equivalence
class,
> > according to some criterion, and using the symbol that represents the
> > chosen element to act as the normalized form for the entire class.
>

> I don't see how this is a particularly useful way to look at
> the issue. It doesn't separate the idea of the lexical symbols
> we use to display and enter values, and the abstract values
> themselves.
>

The word "symbols" refers not only to the symbols used to exchange data between people and computers, but also to each of the data items inside the computer. In other words, what the computer stores is all symbolic, right down to the most atomic symbols, zero and one. Symbols can be made up of other symbols, strung together. Thus the symbol made up of 11000000 (starting from least significant bit) is a string of symbols that can represent the number three.

When various "engines" (or "objects" if you prefer) inside a large system exchange data with each other (or "messages" if you prefer), they use symbols to communicate with each other.

> The way I look at it is, when the compiler sees "5/10" it converts
> it into a value. The value it converts it into is the same value
> as when it sees "1/2" because the two are the same value.
>

That's when the compiler sees it. But the number "5/10" could be generated at run time as well. If such an expression is evaluated at run time, it will evaluate to "1/2" (or some bit pattern that is used to represent that number).

> I also don't see the benefit of talking about separate engines.
>

Over the past six weeks, there has been much discussion about what the "relational engine knows" (or "knows about") and what the "type engine knows" (or "knows about"). The prevailing wisdom has been that the type engine understands equality (within its type), but the relational engine does not. The discussion in terms of separate engines proceeds from here.

I started this discussion, about the naive test for equality, based on the supposition that if you just compared two representations of a value, you could tell whether they are the same or not. The synonym and homonym problems are two classic problems that arise whenever you do that. They were referred to as "synonym problem" and "homonym problem", in the literature of about 30 years ago. I'm sorry, but my memory fails me when it comes to citing sources for this.

The two words, "synonym" and "homonym" are borrowed from the argot of natural linguistics, but the two problems arise whenever data is represented.

>
> Marshall
>
Received on Tue Aug 09 2005 - 07:52:22 CEST

Original text of this message