comp.lang.ada
 help / color / mirror / Atom feed
From: Daniel <danielnorberto@gmail.com>
Subject: Re: Visibility issue
Date: Fri, 11 Sep 2020 13:11:23 -0700 (PDT)	[thread overview]
Message-ID: <8dc6458c-2a77-4d3c-8238-56e7e424faafn@googlegroups.com> (raw)
In-Reply-To: <00be33f0-8a28-483d-815e-c2b472d5033dn@googlegroups.com>

El viernes, 11 de septiembre de 2020 a las 13:51:39 UTC+2, Maxim Reznik escribió:
> You can try this way:
> package Library.Users is 
> type User_type is tagged with private;
> ... 
> end; 
> private package Library.Users.Implementation is 
> ...-- access User_Type internals 
> end; 
> 
> In Matreshka[1] we use another approach. We have a separate hierarchy of package for internals (in Matreshka.XXX packages) and a public API in League.XXX packages. However, nothing stops the user from use internal packages there. 
> 
> [1]: https://github.com/reznikmm/matreshka

I think that what I was doing is really close to your example: having two separates hierarchy. One for API just for type conversions and user interface, and other package hierarchy for internal implementing.
Let me use the same names as your example.
I need to access from Internal Matreshka packages to the private part of API tagged type. If im obligated to put the implement details in the child package of API, i will need also all the dependencies located in the Matreshka.XXX. That will make a mess of dependencies.


  reply	other threads:[~2020-09-11 20:11 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-11 10:37 Visibility issue Daniel
2020-09-11 11:51 ` Maxim Reznik
2020-09-11 20:11   ` Daniel [this message]
2020-09-11 14:23 ` Jeffrey R. Carter
2020-09-11 20:17   ` Daniel
2020-09-11 22:36     ` Jeffrey R. Carter
2020-09-14 10:47       ` Daniel
2020-09-14 16:10         ` Jeffrey R. Carter
2020-09-15 19:11           ` Daniel
2020-09-15 20:03             ` Jeffrey R. Carter
2020-09-11 21:05 ` Dmitry A. Kazakov
2020-09-14 11:33   ` Daniel
2020-09-14 14:42     ` Dmitry A. Kazakov
2020-09-15 19:35       ` Daniel
2020-09-16  7:14         ` Dmitry A. Kazakov
2020-09-16 10:23           ` Daniel
2020-09-16 10:58             ` Dmitry A. Kazakov
2020-09-16 14:35               ` Daniel
2020-09-16 14:49                 ` Jeffrey R. Carter
2020-09-16 15:05                 ` Dmitry A. Kazakov
2020-09-16 20:09                   ` Daniel
2020-09-16 21:48                     ` Simon Wright
2020-09-17 13:31                       ` Daniel
2020-09-17 15:00                         ` Dmitry A. Kazakov
2020-09-17 15:32                           ` Daniel
2020-09-17 16:47                             ` Dmitry A. Kazakov
2020-09-18  8:05                         ` Simon Wright
2020-09-14 16:18 ` Simon Wright
2020-09-17 15:58 ` Jere
2020-09-17 16:10 ` Jere
2020-09-18  8:08   ` Simon Wright
2020-09-17 21:47 ` Shark8
replies disabled

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