From: "Alex R. Mosteo" <devnull@mailinator.com>
Subject: Re: Conditional compilation in Ada?
Date: Thu, 18 Nov 2004 19:03:33 +0100
Date: 2004-11-18T19:03:33+01:00 [thread overview]
Message-ID: <419CE3F5.6010906@mailinator.com> (raw)
In-Reply-To: <Pb5nd.29458$KJ6.2533@newsread1.news.pas.earthlink.net>
Jeffrey Carter wrote:
> Steve wrote:
>
>> Using variant records means explicitly checking for the variant type and
>> taking different action based on the variant. Creating a new
>> variation of
>> the record means modifying the original record (modifying proven code is
>> never a good thing when it is easily avoided) and chasing each part of
>> the
>> code that takes different action based on the variants.
>
>
> Since the compiler points out any place where you've forgotten, this is
> hardly a problem; indeed, I would claim that it's an advantage over OOP,
> where forgetting to redefine an operation is ignored by the compiler,
> and you get the wrong action instead.
>
> In a well designed system, all the code dealing with the variant record
> and its variants will be together, so there's no "chasing each part of
> the code".
>
> Another advantage of using a variant record is that what happens is
> explicit in the code, not hidden is some package that is not mentioned
> in a context clause.
>
>> Using objects means deriving a new object and overloading specific
>> operations for that object. The base object isn't touched.
>
>
> And operations that are mistakenly not overridden become run-time errors.
Not if they're declared abstract. Then you have the same situation as
missing cases for a variant record. Plus you don't have an escape like
using "when others".
>
>> Also: If the object is declared statically, the dispatching may happen
>> statically.
>
>
> This is true, but it seems that the nature of OP's problem would prevent
> this.
>
next prev parent reply other threads:[~2004-11-18 18:03 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-11-16 18:30 Conditional compilation in Ada? jtg
2004-11-16 18:45 ` Marius Amado Alves
2004-11-16 20:41 ` Nick Roberts
2004-11-17 8:36 ` Alex R. Mosteo
2004-11-16 19:03 ` Jeffrey Carter
2004-11-16 19:13 ` Hyman Rosen
2004-11-16 19:41 ` Björn Lundin
2004-11-16 20:08 ` tmoran
2004-11-16 20:27 ` Hyman Rosen
2004-11-16 23:49 ` Jim Rogers
2004-11-16 20:43 ` Martin Dowie
2004-11-16 19:06 ` tmoran
2004-11-17 9:39 ` Adrien Plisson
2004-11-17 16:39 ` Jacob Sparre Andersen
2004-11-17 2:44 ` Steve
2004-11-17 20:30 ` Jeffrey Carter
2004-11-18 4:09 ` Steve
2004-11-18 6:49 ` Martin Dowie
2004-11-18 15:17 ` Georg Bauhaus
2004-11-18 19:12 ` Martin Dowie
2004-11-18 17:34 ` Jeffrey Carter
2004-11-18 17:44 ` Jeffrey Carter
2004-11-18 18:03 ` Alex R. Mosteo [this message]
2004-11-19 3:00 ` Steve
2004-11-19 21:35 ` Simon Wright
2004-11-20 2:56 ` Steve
2004-11-20 16:57 ` Simon Wright
2004-11-17 9:28 ` Martin Krischik
2004-11-17 13:39 ` Stephen Leake
2004-11-17 10:02 ` Frank Piron
2004-11-17 12:32 ` Georg Bauhaus
2004-11-17 14:44 ` Dmitry A. Kazakov
2004-11-18 15:23 ` Georg Bauhaus
2004-11-18 22:10 ` Brian May
2004-11-19 9:03 ` Martin Krischik
2004-11-20 17:31 ` Georg Bauhaus
2004-11-21 9:14 ` Martin Krischik
2004-12-12 0:36 ` Lionel Draghi
2004-12-12 0:17 ` How to switch off those damm warnings about unknows pragma Lionel Draghi
2004-12-13 11:10 ` Georg Bauhaus
2004-12-13 15:07 ` Peter Amey
2004-11-20 1:05 ` Conditional compilation in Ada? Dr. Adrian Wrigley
2004-11-20 17:25 ` Georg Bauhaus
2004-11-23 1:15 ` Arthur Schwarz
2004-11-23 15:42 ` skidmarks
2004-11-17 12:27 ` Marin David Condic
-- strict thread matches above, loose matches on Subject: below --
2004-11-19 9:13 Christoph Karl Walter Grein
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox