comp.lang.ada
 help / color / mirror / Atom feed
From: Daniel <danielnorberto@gmail.com>
Subject: Re: Visibility issue
Date: Wed, 16 Sep 2020 07:35:10 -0700 (PDT)	[thread overview]
Message-ID: <bce49fe6-b494-4f24-9cf5-a7b8be4c23d7n@googlegroups.com> (raw)
In-Reply-To: <rjsr5e$1blb$1@gioia.aioe.org>

El miércoles, 16 de septiembre de 2020 a las 12:58:58 UTC+2, Dmitry A. Kazakov escribió:
> On 16/09/2020 12:23, Daniel wrote: 
> > El miércoles, 16 de septiembre de 2020 a las 9:14:23 UTC+2, Dmitry A. Kazakov escribió: 
> 
> > Let's try to set and construct all hidden part details from Internal side, not from user side.
> [...] 
> 
> Assuming "internal side" means "implementation side", this is in clear 
> contradiction with the code you posted. Your package Internal is 
> implementation and thus must be able to access whatever implementation 
> details it needs. 
> 
> Otherwise the API must provide means of construction. [Must be done 
> anyway in order to ensure the contract of Handle, provided default 
> initialization does not do that.]

Then, I assume there is not a clear solution in Ada due to my imposed requirements (I'm not sure if it's possible with another language also)
So if the "Implementation side" needs all details, I only think in two options :
1.- Put the details of implementation in a children package in the API hierarchy, and try to explain users to don't "with it". I can try to make it really empty in the public part of the children package and only put what its needed for the implementation.
2.- Take out the details from "API hierarchy packages" to the "Implementation package hierarchy" and make visible everything I need in the "API side", and try also to explain users to don't use them.

I think will go for the first option. If you think there is another solution I will be glad to hear that.
In any case, thank you for the help! I'm Learning every day with the help of this group.

  reply	other threads:[~2020-09-16 14:35 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
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 [this message]
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