comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Unchecked_Deallocation with tagged types
Date: Sun, 18 Apr 2021 12:34:39 +0200	[thread overview]
Message-ID: <s5h1vv$anq$1@gioia.aioe.org> (raw)
In-Reply-To: s5h167$2f0$1@dont-email.me

On 2021-04-18 12:20, J-P. Rosen wrote:
> Le 18/04/2021 à 11:09, Jeffrey R. Carter a écrit :
>> On 4/18/21 10:46 AM, Gautier write-only address wrote:
>>> Side note: did anyone already suggest a new keyword: unchecked_free 
>>> and a special statement:
>>>
>>>    unchecked_free Some_Pointer;
>>
>> For every access variable P, there could exist the attribute procedure
>>
>>    P'Free;
>>
> Which would defeat the goal of Unchecked_Deallocation.
> 
> Ada (or more precisely Ichbiah) chose to deallocate through an 
> instantiation of a generic for good reason. Deallocation is a place 
> where many problems can come from, it is important to be able to trace 
> where they are. The current solution forces you to put "with 
> Unchecked_Deallocation" on top of every module that deallocates, 
> therefore telling the reader that there is some danger in it, and making 
> it easier to find where all the deallocations happen.

No, that does not work. If we supposed to search for all calls to 
deallocate, then attribute 'Free is much easier to look after than first 
looking for "with Unchecked_Deallocation", then for an instantiation of 
it with the types in question and then for the name of the instance.

> Now, I know that in those days, ease of writing is considered more 
> important than ease of reading and long term maintenance...

Yes, but dangling pointers is a more complex problem, that effortlessly 
passes brief code inspections. I agree with you in general, but disagree 
in this case. *IF* pointers are used *THEN* Unchecked_Deallocation only 
obfuscates things rather than helps.

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

  reply	other threads:[~2021-04-18 10:34 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 [this message]
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           ` Unchecked_Deallocation with tagged types Stephen Leake
2021-04-22 11:16             ` 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