From: Stephen Leake <stephen_leake@stephe-leake.org>
Subject: Re: Package's private parts and protected types
Date: Sat, 13 Feb 2010 03:00:16 -0500
Date: 2010-02-13T03:00:16-05:00 [thread overview]
Message-ID: <ur5op4lbj.fsf@stephe-leake.org> (raw)
In-Reply-To: wcc1vgq33ce.fsf@shell01.TheWorld.com
Robert A Duff <bobduff@shell01.TheWorld.com> writes:
> Stephen Leake <stephen_leake@stephe-leake.org> writes:
>
>> Robert A Duff <bobduff@shell01.TheWorld.com> writes:
>>
>>> Adam Beneschan <adam@irvine.com> writes:
>>>
>>>>...And that
>>>> issue exists with GNAT also---you delete some files from your
>>>> directory with a wildcard, somehow foo.adb accidentally gets deleted
>>>> along with them, and the compiler still thinks your program is OK.
>>>
>>> Seems unlikely.
>>
>> Which means it will be very hard/confusing to debug when it does
>> happen, since you will not be familiar with the problem. So it is
>> important for the tool to handle the unlikely situations nicely.
>
> I suppose...
>
>>> Here's a similar issue: One reasonable design pattern is to have
>>> a body that contains a type extension, which registers itself
>>> into some global data structure. All calls to this thing
>>> are indirect (via the parent's 'Class). Nobody needs visibility
>>> on this thing, so its spec is completely empty, except for
>>> the obligatory pragma Elaborate_Body. Unfortunately, if you
>>> forget to 'with' it, it will be silently ignored.
>>
>> And if you do 'with' it, GNAT will complain that it's unnecessary, so
>> you have to put a pragma Warnings (off) on it. QtAda does this for
>> some stuff; it's annoying.
>
> But that's a hugely useful warning. Without it, you end up with
> useless 'with's accumulating in your code. An occassional
> pragma Warnings is well worth the trouble, IMHO.
Yes, I agree.
Actually, most of the annoyance is that Emacs Ada mode doesn't
understand about the pragma, so when it automatically adds a new with
clause, and alphabetically sorts the set of with clauses, it messes
things up. So I need to teach Emacs Ada mode how to cope with that
better.
--
-- Stephe
next prev parent reply other threads:[~2010-02-13 8:00 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-08 4:30 Package's private parts and protected types Hibou57 (Yannick Duchêne)
2010-02-08 8:30 ` Martin
2010-02-08 9:11 ` Hibou57 (Yannick Duchêne)
2010-02-08 10:10 ` Alex R. Mosteo
2010-02-08 10:46 ` Hibou57 (Yannick Duchêne)
2010-02-09 14:55 ` Alex R. Mosteo
2010-02-08 10:20 ` Dmitry A. Kazakov
2010-02-08 10:54 ` Hibou57 (Yannick Duchêne)
2010-02-08 10:58 ` Hibou57 (Yannick Duchêne)
2010-02-08 11:01 ` Dmitry A. Kazakov
2010-02-08 13:19 ` Georg Bauhaus
2010-02-08 15:17 ` Robert A Duff
2010-02-08 16:15 ` (see below)
2010-02-08 20:44 ` Robert A Duff
2010-02-08 22:00 ` Hibou57 (Yannick Duchêne)
2010-02-09 5:48 ` AdaMagica
2010-02-09 14:56 ` Robert A Duff
2010-02-10 2:29 ` Randy Brukardt
2010-02-11 23:46 ` Robert A Duff
2010-02-12 1:29 ` Randy Brukardt
2010-02-11 23:53 ` Robert A Duff
2010-02-12 1:10 ` Randy Brukardt
2010-02-10 16:05 ` Adam Beneschan
2010-02-10 20:17 ` sjw
2010-02-12 0:05 ` Robert A Duff
2010-02-12 11:07 ` Stephen Leake
2010-02-12 15:01 ` Robert A Duff
2010-02-13 8:00 ` Stephen Leake [this message]
2010-02-09 9:04 ` stefan-lucks
2010-02-08 17:11 ` Jeffrey R. Carter
2010-02-08 14:56 ` Robert A Duff
2010-02-08 15:36 ` Dmitry A. Kazakov
2010-02-08 16:06 ` Robert A Duff
2010-02-08 17:46 ` Jean-Pierre Rosen
2010-02-08 20:39 ` Robert A Duff
2010-02-08 21:54 ` Hibou57 (Yannick Duchêne)
2010-02-08 21:50 ` Hibou57 (Yannick Duchêne)
2010-02-08 22:04 ` Hibou57 (Yannick Duchêne)
2010-02-09 10:58 ` Hibou57 (Yannick Duchêne)
2010-02-09 14:47 ` Robert A Duff
2010-02-09 19:34 ` Hibou57 (Yannick Duchêne)
2010-02-09 20:19 ` Hibou57 (Yannick Duchêne)
2010-02-09 23:29 ` Robert A Duff
2010-02-10 2:39 ` Randy Brukardt
2010-02-10 5:12 ` Hibou57 (Yannick Duchêne)
2010-02-10 7:17 ` Hibou57 (Yannick Duchêne)
2010-02-10 16:09 ` Robert A Duff
2010-02-10 22:21 ` Hibou57 (Yannick Duchêne)
2010-02-11 0:48 ` Robert A Duff
2010-02-09 0:48 ` Randy Brukardt
2010-02-09 12:43 ` Hibou57 (Yannick Duchêne)
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox