comp.lang.ada
 help / color / mirror / Atom feed
From: dmitry6243@my-deja.com
Subject: Common ancestor (visibility rules)
Date: 2000/03/28
Date: 2000-03-28T00:00:00+00:00	[thread overview]
Message-ID: <8bprin$a37$1@nnrp1.deja.com> (raw)

Hello!

Perhaps I've missed something, but it seems that compilation units
(except for library ones) do not have common ancestor. Here is a simple
example to highlight the problem:
------------------- a.ads
package A is
   procedure Foo;
end A;
------------------- b.ads
package B is
   procedure A;
end B;
------------------- b.adb
package body B is
   procedure A is separate;
end B;
------------------- b-a.adb
with A;
separate (B)
procedure A is
begin
   A.Foo; -- Error!
end A;

Now there is no way to use A.Foo in B.A, because B.A hides A. The
problem could be easily solved if all compilation unit had have a common
ancestor package, say "Root". Then package A could be specified as
Root.A and A's Foo as Root.A.Foo. Interesting is that C++ has this
feature.

Regards,
Dmitry Kazakov


Sent via Deja.com http://www.deja.com/
Before you buy.




             reply	other threads:[~2000-03-28  0:00 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-03-28  0:00 dmitry6243 [this message]
2000-03-28  0:00 ` Common ancestor (visibility rules) Robert Dewar
2000-03-29  0:00   ` dmitry6243
2000-03-29  0:00     ` Robert Dewar
2000-03-29  0:00       ` dmitry6243
2000-03-30  0:00         ` Robert Dewar
2000-03-30  0:00           ` dmitry6243
2000-03-30  0:00             ` Tucker Taft
2000-03-31  0:00               ` dmitry6243
2000-04-01  0:00               ` Robert Dewar
2000-04-01  0:00               ` Robert Dewar
2000-03-28  0:00 ` Steve Folly
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox