comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: advice on package design
Date: Sat, 12 Mar 2005 21:45:35 +0100
Date: 2005-03-12T21:45:25+01:00	[thread overview]
Message-ID: <3jok3ghqqls8$.1rrsonb8jsurt$.dlg@40tude.net> (raw)
In-Reply-To: wcc64zw63j6.fsf@shell01.TheWorld.com

On 12 Mar 2005 14:57:17 -0500, Robert A Duff wrote:

> If I were [re]designing Ada, I would make 'use' transitive. That is,
> if Foo says "use Linked_List" that would make the contents of
> Linked_List directly visible in Foo, and anything that says "use Foo;"
> would have direct visibility on everything directly visible in Foo --
> not just the things *declared* in Foo.  Or something like that.

Yes, I really miss it. What about:

   use all <package-name>;

or

  use package <package-name>;

with the effect importing the specification of the package? Also,
differently to use, it should prevent hiding. So:

package A is
   Foo (X : Integer);
end A;

with A;
package B is
   use all A;
   Foo (X : out Integer); -- Illegal, can't hide A.Foo
end B;

It could be also used for testing if a child package is parent-friendly:

package Foo.Child is
   ... -- Lot of stuff
private
   use all Foo; -- Fails if Child hides something in Foo
   ...
end Foo;

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  reply	other threads:[~2005-03-12 20:45 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-07 16:23 advice on package design spambox
2005-03-07 21:08 ` Dmitry A. Kazakov
2005-03-08 12:48   ` spambox
2005-03-08 17:18     ` Dmitry A. Kazakov
2005-03-12 19:57   ` Robert A Duff
2005-03-12 20:45     ` Dmitry A. Kazakov [this message]
2005-03-12 21:59       ` Robert A Duff
2005-03-13  9:23         ` Dmitry A. Kazakov
2005-03-16 20:41           ` Robert A Duff
2005-03-17 10:22             ` Dmitry A. Kazakov
2005-03-17 14:04               ` Robert A Duff
2005-03-17 15:59                 ` Dmitry A. Kazakov
2005-03-17 19:10                   ` Robert A Duff
2005-03-17 19:47                     ` Martin Dowie
2005-03-17 20:55                       ` Robert A Duff
2005-03-17 21:14                         ` Marius Amado Alves
2005-03-18  9:31                           ` Martin Dowie
2005-03-18  9:38                         ` Martin Dowie
2005-03-21 16:19                           ` Robert A Duff
2005-03-17 20:48                     ` Dmitry A. Kazakov
2005-03-17 21:26                       ` Robert A Duff
2005-03-18  3:06                         ` Jared
2005-03-18 10:00                         ` Dmitry A. Kazakov
2005-03-21 16:17                           ` Robert A Duff
2005-03-21 18:16                             ` Dmitry A. Kazakov
2005-03-21 20:35                               ` Robert A Duff
2005-03-22 10:55                                 ` Dmitry A. Kazakov
2005-03-17 23:23                 ` Randy Brukardt
replies disabled

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