comp.lang.ada
 help / color / mirror / Atom feed
From: Adam Beneschan <adam@irvine.com>
Subject: Re: Package's private parts and protected types
Date: Wed, 10 Feb 2010 08:05:59 -0800 (PST)
Date: 2010-02-10T08:05:59-08:00	[thread overview]
Message-ID: <ca78ade5-8ed2-44ec-90e0-d2df7861c796@e19g2000prn.googlegroups.com> (raw)
In-Reply-To: wccy6j2mpa0.fsf@shell01.TheWorld.com

On Feb 9, 6:56 am, Robert A Duff <bobd...@shell01.TheWorld.com> wrote:
> AdaMagica <christoph.gr...@eurocopter.com> writes:
> > OK, but then you have a similar problem to Ada83's syntactically
> > unneeded bodies which Ada95 solved with a pragma.
>
> I think that problem is an illusion.  There was a problem,
> but it was a problem with implementations, not with the
> language.  How do we know if a given package spec has
> a body?  Simple: look on the disk and see if there's
> a source file containing that body.  In GNAT, that would
> mean looking for foo.adb.

And for other implementations (that put fewer restrictions on the
names and locations of source files containing the Ada source), that
would mean searching every file on the disk to see if one of them had
"package body foo" in it.  :) :)

I know---those other implementations wouldn't do things this way;
they'd provide some other mechanism to allow a programmer to tell the
compilation system that a package no longer requires a body---or does
require a body.  But you should be careful when you say things like
"Simple...".  Unless, of course, you were joking.  Anyway, the problem
was certainly solvable in any implementation, although as Randy points
out it's still not ideal because it makes it too easy for an
accidental error to result in the compiler accepting a package without
a body that's supposed to have one, or vice versa, causing incorrect
results at runtime that could be puzzling to track down.  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.

                                      -- Adam



  parent reply	other threads:[~2010-02-10 16:05 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 [this message]
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
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