From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,1a52c822fc0dbb23 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Newsgroups: comp.lang.ada Subject: Re: Rational for not making cursor tagged in Containers References: <1a8y2vakorfhx.225uqh4hifpd$.dlg@40tude.net> <1xmzi7newnilp.23m3zze8h9yi.dlg@40tude.net> <1177066583.5876.30.camel@localhost.localdomain> <1177080147.5876.87.camel@localhost.localdomain> <1q1kx2jlcvnuj.ck0711mj4few$.dlg@40tude.net> <1177097829.26685.36.camel@localhost.localdomain> <95wmj9goo6wc$.13f1j4dnadwws$.dlg@40tude.net> <1177349886.343834.295210@q75g2000hsh.googlegroups.com> <1177373706.552914.71270@q75g2000hsh.googlegroups.com> <1ccueevyp8oba.11c8wwyujtw1o$.dlg@40tude.net> <1177432057.705889.229690@n35g2000prd.googlegroups.com> <1op3ml5q11aa$.vg0a2lyc9dpv$.dlg@40tude.net> <1177549092.325163.326870@b40g2000prd.googlegroups.com> <1ukuo9arhsjuu.1xhbhqzroadfz.dlg@40tude.net> From: Markus E Leypold Organization: N/A Date: Thu, 26 Apr 2007 10:09:20 +0200 Message-ID: User-Agent: Some cool user agent (SCUG) Cancel-Lock: sha1:6dqNTmpdHc/sbXgZCMpIIkQmJ84= MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii NNTP-Posting-Host: 88.72.225.29 X-Trace: news.arcor-ip.de 1177574480 88.72.225.29 (26 Apr 2007 10:01:20 +0200) X-Complaints-To: abuse@arcor-ip.de Path: g2news1.google.com!news3.google.com!out01a.usenetserver.com!news.usenetserver.com!in01.usenetserver.com!news.usenetserver.com!news.tele.dk!news.tele.dk!small.news.tele.dk!news-fra1.dfn.de!newsfeed.arcor-ip.de!news.arcor-ip.de!not-for-mail Xref: g2news1.google.com comp.lang.ada:15334 Date: 2007-04-26T10:09:20+02:00 List-Id: "Dmitry A. Kazakov" writes: > The predefined equality compares memory bit patterns. Without looking into the ARM -- I'd be surprised if the ARM defined it like this. I'm sure it's more like - values numeric types shall be equal if their value are equal - array sahll be equal if they are of equal lengths and all components are equal - records are equal if all components are equal Discriminants will complicate this a bit, but the fundamental idea will stay the same. It's up to the implementation to stick to how it -- well -- implements this semantics. If it compares bit patterns, it will have to pay attention to uninitialized padding space, but on the other side comparing bit patterns will probably be very fast. But it _could_ also just generate loops of sequences of comparisons of the basic components. As I said: I'm voncinced that's up to the implementation and I'd suprised if "predefined equality compares memory bit patterns" as per definition in the ARM. > Observe, that for any fundamental built-in type there is no way to > define equality otherwise than this way. An implementation shall > ensure that different values of the discriminants and the positions > of values render predefined comparison to false. Regards -- Markus