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,f2690a5e963b61b6 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news3.google.com!news.glorb.com!hwmnpeer01.lga!hwmedia!hw-filter.lga!fe07.lga.POSTED!53ab2750!not-for-mail From: Mikhail Terekhov User-Agent: Mozilla Thunderbird 1.0.2 (Windows/20050317) X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: GCC 4.0 Ada.Containers Cursor danger. References: <1120474891.635131.216700@g44g2000cwa.googlegroups.com> <42cb8d21$0$22761$9b4e6d93@newsread2.arcor-online.net> <42cd064c$0$10817$9b4e6d93@newsread4.arcor-online.net> <42cda8c4$0$22780$9b4e6d93@newsread2.arcor-online.net> <1u3hh2597i4ne$.1ryetugksbmus.dlg@40tude.net> <1120834341.499757.133770@g43g2000cwa.googlegroups.com> <1121093867.964444.232420@g14g2000cwa.googlegroups.com> <42d2bc2d$0$20148$9b4e6d93@newsread2.arcor-online.net> <1121134291.379399.79460@z14g2000cwz.googlegroups.com> <42d46b51$0$18005$9b4e6d93@newsread4.arcor-online.net> <42d6ef47$0$7644$9b4e6d93@newsread2.arcor-online.net> <1eg30i81gqy2a$.ljhncmxt8d7w.dlg@40tude.net> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Message-ID: X-Trace: pikkdiabbdefphapljgbhoaodcalhafmhjkgjlgjfhchdhkjlkofpbhdcomdnfbnkocbaabgcpdeoapbkgngfglkbnbokccpdcolfpjjeflpngljnepcgdieooibnfiobcfagklmibllijll NNTP-Posting-Date: Mon, 18 Jul 2005 20:51:04 MST Date: Mon, 18 Jul 2005 23:51:12 -0400 Xref: g2news1.google.com comp.lang.ada:3669 Date: 2005-07-18T23:51:12-04:00 List-Id: Matthew Heaney wrote: > ....... > Does not exist in the Ada 2005 standard container library. ....... > Does not exist in the Ada 2005 standard container library. ....... > >>And for proofs it is essential that the premises were correct. Programming >>is not much different... > > > Yes, that's called a "reference manual." > And we are talking about Holy scripture ;) > > Of course a container must "mix implementation and interface," since it > has to provide access to its elements. The essential container design > problem is doing that without exposing representation details. Cursors > are that mechanism. > This "must" is too strong. Some libraries use access types and don't "mix implementation and interface." If Ada.Containers exposes representation details (Cursors) i.e. "mixes implementation and interface," then it is not the essential container design then? > There's nothing bad about this; it's simply the nature of a container There is nothing bad about this, but it's not the nature of a container abstraction; it's a nature of your specific vision of a container abstraction. > abstraction. The container should get out of the way as much as > possible, since it's the elements we care about. > Yes, and Cursors are probably a part of this "as much as possible". > > >>[and again, sets could be searchable and not] > > > The sets in the Ada 2005 standard container library are searchable. Then it is not the common set abstraction. In the common set abstraction search degenerates into membership test and the common set abstraction contains no such things like First, Last and Cursor.