From: Mikhail Terekhov <terekhov@emc.com>
Subject: Re: GCC 4.0 Ada.Containers Cursor danger.
Date: Tue, 19 Jul 2005 00:36:20 -0400
Date: 2005-07-19T00:36:20-04:00 [thread overview]
Message-ID: <%q%Ce.11640$1Y1.7177@fe02.lga> (raw)
In-Reply-To: <uy88571bq.fsf@earthlink.net>
Matthew Heaney wrote:
> "Dmitriy Anisimkov" <anisimkov@yahoo.com> writes:
>
>
>>I understand that using of cursors allows to reduce the number of
>>routines in the Ada.Cursors. But i'm sure that using a much more
>>routines without cursors would reduce a potential errors at design
>>time.
>
>
> You must adduce evidence for this claim. Otherwise we're just debating
> religion.
>
The evidence is pretty obvious. Ada.Containers contains a set of
abstractions some of which are very specialized (ordered sets and
hashes), mix abstraction and implementation (hashed sets) and mix
everything in one place (cursors; they even replace container
abstraction itself in a number of operation). May be the implementation
of these abstractions is perfect, but using such a "non rectangular
briks" to design a program will be prone to abstractions misuse and
hence to design errors.
>
>
>>Using the *checking* cursors would move error detection into the run
>>time.
>
>
> Yes, but in your original example, you were complaining about a run-time
> error. That error is detectable.
>
Not using this special case abstraction (Cursor) in general part of the
library would exclude this kind of errors completely.
>
>
>>So, I know that i could build whatever i need on top of routines with a
>>cursors.
>
>
> Yes, but that's the point. A general-purpose library must be flexible
> enough to meet the needs of disparate applications. If you want the
Great, to satisfy a common need, users should build a layer on top of
such a "general library".
> library to be strictly key-based (sans cursors), then it's far less
> flexible, and no longer a general-purpose library.
That depends on the definition of "general-purpose" of course.
>>But I think that Ada standard should try to move design process into
>>the way where the errors would be avoided at the design time.
Exactly.
>
> You want to legislate behavior for everyone. This is wrong. You should
> only be concerned with your own behavior.
I unerstand this as "shut up and go away". This is not polite. Try to
apply the above three sentences to yourself.
>
> If you want only key-based operations, then you can just write a layered
> abstraction once, and you can use it everywhere.
>
That means do it youself. So much for a "generic" library - if you need
some generic case - do it yourself.
next prev parent reply other threads:[~2005-07-19 4:36 UTC|newest]
Thread overview: 195+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-07-04 11:01 GCC 4.0 Ada.Containers Cursor danger Dmitriy Anisimkov
2005-07-04 18:56 ` Georg Bauhaus
2005-07-04 19:07 ` Georg Bauhaus
2005-07-05 4:27 ` Dmitriy Anisimkov
2005-07-05 15:01 ` Matthew Heaney
2005-07-06 9:10 ` Maxim Reznik
2005-07-06 10:45 ` Georg Bauhaus
2005-07-06 13:57 ` Maxim Reznik
2005-07-06 14:53 ` Georg Bauhaus
2005-07-06 15:09 ` Matthew Heaney
2005-07-06 16:37 ` Dmitriy Anisimkov
2005-07-06 16:43 ` Matthew Heaney
2005-07-06 22:24 ` Randy Brukardt
2005-07-07 10:23 ` Alex R. Mosteo
2005-07-06 12:41 ` Matthew Heaney
2005-07-06 15:37 ` Matthew Heaney
2005-07-06 21:51 ` Randy Brukardt
2005-07-05 14:51 ` Matthew Heaney
2005-07-05 17:11 ` Dmitriy Anisimkov
2005-07-05 18:02 ` Matthew Heaney
2005-07-05 19:08 ` Dmitriy Anisimkov
2005-07-05 19:26 ` Matthew Heaney
2005-07-05 19:44 ` Dmitriy Anisimkov
2005-07-05 20:06 ` Matthew Heaney
2005-07-06 2:10 ` Dmitriy Anisimkov
2005-07-06 22:44 ` Randy Brukardt
2005-07-07 3:41 ` Dmitriy Anisimkov
2005-07-07 19:18 ` Randy Brukardt
2005-07-08 3:01 ` Dmitriy Anisimkov
2005-07-09 6:17 ` Simon Wright
2005-07-11 2:24 ` Dmitriy Anisimkov
2005-07-11 2:24 ` Dmitriy Anisimkov
2005-07-06 5:52 ` Martin Dowie
2005-07-06 7:02 ` Dmitriy Anisimkov
2005-07-06 8:02 ` Georg Bauhaus
2005-07-06 8:37 ` Dmitriy Anisimkov
2005-07-06 9:06 ` Pascal Obry
2005-07-06 12:14 ` Georg Bauhaus
2005-07-06 7:53 ` Pascal Obry
2005-07-06 8:44 ` Dmitriy Anisimkov
2005-07-06 9:03 ` Pascal Obry
2005-07-06 9:34 ` Dmitriy Anisimkov
2005-07-06 9:42 ` Pascal Obry
2005-07-06 9:45 ` Dmitriy Anisimkov
2005-07-06 10:40 ` Georg Bauhaus
2005-07-06 16:22 ` Dmitriy Anisimkov
2005-07-06 16:42 ` Matthew Heaney
2005-07-06 16:59 ` Dmitriy Anisimkov
2005-07-06 17:12 ` Matthew Heaney
2005-07-06 18:12 ` Georg Bauhaus
2005-07-07 12:29 ` Dmitriy Anisimkov
2005-07-07 12:46 ` Matthew Heaney
2005-07-07 13:01 ` Dmitriy Anisimkov
2005-07-07 13:20 ` Matthew Heaney
2005-07-07 13:54 ` Georg Bauhaus
2005-07-07 17:56 ` Dmitriy Anisimkov
2005-07-07 22:12 ` Georg Bauhaus
2005-07-15 18:03 ` Dmitriy Anisimkov
2005-07-16 1:45 ` Matthew Heaney
2005-07-17 3:55 ` Dmitriy Anisimkov
2005-07-17 4:29 ` Matthew Heaney
2005-07-07 19:29 ` Randy Brukardt
2005-07-08 2:41 ` Dmitriy Anisimkov
2005-07-06 22:56 ` Randy Brukardt
2005-07-06 22:51 ` Randy Brukardt
2005-07-07 0:24 ` Matthew Heaney
2005-07-07 3:20 ` Randy Brukardt
2005-07-06 7:30 ` Dmitry A. Kazakov
2005-07-06 7:50 ` Georg Bauhaus
2005-07-06 8:11 ` Dmitriy Anisimkov
2005-07-06 11:36 ` Dmitry A. Kazakov
2005-07-06 12:14 ` Georg Bauhaus
2005-07-06 23:07 ` Randy Brukardt
2005-07-07 8:01 ` Dmitry A. Kazakov
2005-07-07 10:38 ` Georg Bauhaus
2005-07-07 13:00 ` Dmitry A. Kazakov
2005-07-07 13:41 ` Matthew Heaney
2005-07-07 22:12 ` Georg Bauhaus
2005-07-08 8:48 ` Dmitry A. Kazakov
2005-07-08 10:41 ` Georg Bauhaus
2005-07-08 13:03 ` Dmitry A. Kazakov
2005-07-08 13:31 ` Matthew Heaney
2005-07-10 2:12 ` Randy Brukardt
2005-07-10 8:52 ` Dmitry A. Kazakov
2005-07-11 10:58 ` Georg Bauhaus
2005-07-11 12:18 ` Dmitry A. Kazakov
2005-07-11 13:50 ` Georg Bauhaus
2005-07-11 18:38 ` Randy Brukardt
2005-07-12 8:44 ` Dmitry A. Kazakov
2005-07-12 10:33 ` Georg Bauhaus
2005-07-12 20:38 ` Randy Brukardt
2005-07-08 13:15 ` Matthew Heaney
2005-07-08 14:02 ` Dmitry A. Kazakov
2005-07-08 14:52 ` Matthew Heaney
2005-07-11 14:57 ` MMM
2005-07-11 18:36 ` Georg Bauhaus
2005-07-12 2:11 ` MMM
2005-07-12 21:47 ` Randy Brukardt
2005-07-13 4:31 ` MMM
2005-07-13 1:15 ` Georg Bauhaus
2005-07-13 2:46 ` Matthew Heaney
2005-07-14 4:11 ` Mikhail Terekhov
2005-07-14 12:44 ` Matthew Heaney
2005-07-19 1:38 ` Mikhail Terekhov
2005-07-19 3:21 ` Matthew Heaney
2005-07-14 23:03 ` Georg Bauhaus
2005-07-15 8:36 ` Dmitry A. Kazakov
2005-07-15 10:39 ` Georg Bauhaus
2005-07-15 14:10 ` Dmitry A. Kazakov
2005-07-15 12:10 ` Matthew Heaney
2005-07-19 3:51 ` Mikhail Terekhov
2005-07-19 11:35 ` Matthew Heaney
2005-07-19 3:11 ` Mikhail Terekhov
2005-07-19 12:44 ` Matthew Heaney
2005-07-20 5:20 ` Simon Wright
2005-07-21 2:39 ` Matthew Heaney
2005-07-21 3:23 ` Randy Brukardt
2005-07-19 23:51 ` Randy Brukardt
2005-07-20 15:33 ` Robert A Duff
2005-07-11 14:56 ` MMM
2005-07-11 23:24 ` Matthew Heaney
2005-07-12 3:05 ` MMM
2005-07-12 5:32 ` Simon Wright
2005-07-13 2:41 ` MMM
2005-07-12 11:16 ` Georg Bauhaus
2005-07-16 22:28 ` Robert A Duff
2005-07-12 13:32 ` Marc A. Criley
2005-07-12 14:51 ` MMM
2005-07-12 15:35 ` Matthew Heaney
2005-07-12 18:40 ` MMM
2005-07-12 19:12 ` Matthew Heaney
2005-07-12 19:42 ` MMM
2005-07-12 20:02 ` Georg Bauhaus
2005-07-13 3:52 ` MMM
2005-07-12 20:13 ` Matthew Heaney
2005-07-12 21:38 ` Simon Wright
2005-07-12 17:44 ` Marc A. Criley
2005-07-12 18:51 ` MMM
2005-07-12 19:15 ` Matthew Heaney
2005-07-12 19:47 ` Georg Bauhaus
2005-07-13 2:20 ` Matthew Heaney
2005-07-12 20:00 ` MMM
2005-07-12 20:09 ` Georg Bauhaus
2005-07-12 20:15 ` Matthew Heaney
2005-07-12 21:01 ` Randy Brukardt
2005-07-13 4:16 ` MMM
2005-07-19 23:58 ` Randy Brukardt
2005-07-12 21:59 ` Simon Wright
2005-07-12 20:56 ` Randy Brukardt
2005-07-14 5:01 ` Mikhail Terekhov
2005-07-20 0:10 ` Randy Brukardt
2005-07-07 12:36 ` Matthew Heaney
2005-07-07 12:52 ` Dmitriy Anisimkov
2005-07-07 13:52 ` Georg Bauhaus
2005-07-07 17:49 ` Dmitriy Anisimkov
2005-07-07 18:35 ` Matthew Heaney
2005-07-08 17:52 ` Craig Carey
2005-07-07 17:50 ` Dmitriy Anisimkov
2005-07-07 19:47 ` Randy Brukardt
2005-07-08 2:28 ` Dmitriy Anisimkov
2005-07-09 14:20 ` Matthew Heaney
2005-07-10 1:51 ` Randy Brukardt
2005-07-10 5:46 ` Craig Carey
2005-07-10 6:13 ` Craig Carey
2005-07-11 17:33 ` OT: Greg and Colin? (was Re: GCC 4.0 Ada.Containers Cursor danger.) Marc A. Criley
2005-07-06 22:34 ` GCC 4.0 Ada.Containers Cursor danger Randy Brukardt
2005-07-07 0:22 ` Matthew Heaney
2005-07-07 3:17 ` Randy Brukardt
2005-07-08 5:34 ` Jeffrey Carter
2005-07-10 1:53 ` Randy Brukardt
2005-07-10 19:32 ` Jeffrey Carter
2005-07-07 3:24 ` Randy Brukardt
2005-07-16 23:24 ` Matthew Heaney
2005-07-17 4:04 ` Dmitriy Anisimkov
2005-07-17 5:01 ` Matthew Heaney
2005-07-17 17:13 ` Dmitriy Anisimkov
2005-07-17 17:36 ` Matthew Heaney
2005-07-17 17:49 ` Dmitriy Anisimkov
2005-07-17 18:12 ` Matthew Heaney
2005-07-17 17:40 ` Dmitriy Anisimkov
2005-07-17 17:50 ` Dmitriy Anisimkov
2005-07-17 18:08 ` Matthew Heaney
2005-07-19 4:36 ` Mikhail Terekhov [this message]
2005-07-20 1:59 ` Matthew Heaney
2005-07-20 14:00 ` Pascal Obry
2005-07-20 14:34 ` Matthew Heaney
2005-07-20 16:51 ` Pascal Obry
2005-07-20 16:53 ` Pascal Obry
2005-07-21 3:18 ` Randy Brukardt
2005-07-20 2:37 ` Robert I. Eachus
2005-08-02 16:59 ` Craig Carey
2005-08-02 20:55 ` Simon Wright
2005-07-20 7:20 ` Georg Bauhaus
2005-07-17 9:28 ` Georg Bauhaus
2005-07-17 14:26 ` Matthew Heaney
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox