From: Stephen Leake <stephen_leake@stephe-leake.org>
Subject: Re: Unchecked_Deallocation with tagged types
Date: Thu, 22 Apr 2021 01:55:56 -0700 [thread overview]
Message-ID: <86a6pqk89v.fsf@stephe-leake.org> (raw)
In-Reply-To: s5n2nl$6ee$1@dont-email.me
"Jeffrey R. Carter" <spam.jrcarter.not@spam.not.acm.org> writes:
> On 4/20/21 5:57 PM, Stephen Leake wrote:
>> "Jeffrey R. Carter" <spam.jrcarter.not@spam.not.acm.org> writes:
>>
>>> package Lists is
>>> type Handle is tagged limited private;
>>>
>>> procedure Clear (List : in out Handle);
>>>
>>> and then use
>>>
>>> List : Lists.Handle;
>>>
>>> List.Clear;
>> Just to provide an alternative, I like:
>> package Lists is
>> type List is tagged limited private;
>> procedure Clear (List : in out Lists.List);
>> and then use
>> List : Lists.List;
>> List.Clear;
>
> Lists.List is a bit repetitive. Are you sure you don't want
> Lists.Listy_List_Listing?
Yes. It's a list. Just a list, nothing more, nothing less.
>
>
>> that saves you having to think up a bogus name for the 'list' type.
>
> I think of private types as allowing you to manipulate their
> abstraction without know how it's implemented, much as the handle on a
> suitcase allows you to manipulate its contents without knowing what's
> in there. So Handle seems an appropriate name.
In this case, the point of the package is precisely to provide a list,
implemented by an actual list. It's not a "bag" or some other "generic
container". That would be a at higher level, where the type would be
"bag" or "generic_container".
--
-- Stephe
next prev parent reply other threads:[~2021-04-22 8:55 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-17 21:45 Unchecked_Deallocation with tagged types DrPi
2021-04-17 22:29 ` Rod Kay
2021-04-17 22:36 ` Rod Kay
2021-04-18 9:06 ` DrPi
2021-04-18 9:07 ` Jeffrey R. Carter
2021-04-18 8:21 ` Dmitry A. Kazakov
2021-04-18 8:46 ` Gautier write-only address
2021-04-18 9:09 ` Jeffrey R. Carter
2021-04-18 10:13 ` Dmitry A. Kazakov
2022-04-16 3:44 ` Thomas
2022-04-16 8:09 ` Dmitry A. Kazakov
2021-04-18 10:20 ` J-P. Rosen
2021-04-18 10:34 ` Dmitry A. Kazakov
2021-04-18 15:14 ` J-P. Rosen
2021-04-18 15:23 ` Gautier write-only address
2021-04-18 15:53 ` J-P. Rosen
2021-04-18 16:08 ` Gautier write-only address
2022-04-16 5:00 ` Thomas
2021-04-20 18:53 ` Randy Brukardt
2021-04-20 19:35 ` Dmitry A. Kazakov
2022-04-18 5:51 ` Thomas
2022-04-18 6:26 ` Niklas Holsti
2021-04-20 20:32 ` Jeffrey R. Carter
2021-04-20 21:10 ` Niklas Holsti
2021-04-21 8:35 ` Jeffrey R. Carter
2021-04-21 10:11 ` Dmitry A. Kazakov
2021-04-24 0:49 ` Randy Brukardt
2022-04-18 1:51 ` Thomas
2021-04-18 16:08 ` Jeffrey R. Carter
2021-04-18 9:13 ` DrPi
2021-04-18 10:01 ` Dmitry A. Kazakov
2021-04-18 10:42 ` DrPi
2021-04-18 16:48 ` Jeffrey R. Carter
2021-04-20 15:57 ` Stephen Leake
2021-04-20 17:24 ` Jeffrey R. Carter
2021-04-20 17:34 ` Vincent Marciante
2021-04-20 20:56 ` Jeffrey R. Carter
2021-04-21 10:21 ` Vincent Marciante
2021-04-21 10:28 ` Vincent Marciante
2021-04-21 12:13 ` Simon Wright
2021-04-21 13:28 ` J-P. Rosen
2021-04-22 10:21 ` Vincent Marciante
2021-04-21 13:42 ` Jeffrey R. Carter
2021-04-24 1:04 ` Randy Brukardt
2022-04-12 23:25 ` use clauses Thomas
2022-04-13 1:05 ` Randy Brukardt
2022-04-14 2:51 ` 25.BX944
2022-04-14 6:49 ` Emmanuel Briot
2022-04-15 5:33 ` Doctor Who
2022-04-19 3:53 ` Thomas
2022-04-19 5:59 ` Randy Brukardt
2021-04-22 8:55 ` Stephen Leake [this message]
2021-04-22 11:16 ` Unchecked_Deallocation with tagged types Jeffrey R. Carter
2021-04-22 15:49 ` Vincent Marciante
-- strict thread matches above, loose matches on Subject: below --
1996-11-22 0:00 Paul Burnim
1996-11-23 0:00 ` Simon Wright
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox