From: Thomas <fantome.forums.tDeContes@free.fr.invalid>
Subject: Re: Unchecked_Deallocation with tagged types
Date: Mon, 18 Apr 2022 03:51:13 +0200 [thread overview]
Message-ID: <625cc411$0$18748$426a34cc@news.free.fr> (raw)
In-Reply-To: s5vpul$ldb$1@franka.jacob-sparre.dk
In article <s5vpul$ldb$1@franka.jacob-sparre.dk>,
"Randy Brukardt" <randy@rrsoftware.com> wrote:
> "Niklas Holsti" <niklas.holsti@tidorum.invalid> wrote in message
> news:ie8uagFqaf2U1@mid.individual.net...
> > On 2021-04-20 23:32, Jeffrey R. Carter wrote:
> >> On 4/20/21 8:53 PM, Randy Brukardt wrote:
> >>>
> >>> 'Free makes more sense in a new language (an Ada follow-on).
> >>
> >> Right. I don't think it would be a good idea to add it to Ada.
> >>
> >> But I think a new language should not have pointers at all.
> >>
> >> No more radical than not having arrays.
> >
> > It seems to me that a language without arrays and pointers would be very
> > difficult to use in an embedded, real-time, close-to-HW context. So we
> > would lose the nice wide-spectrum nature of Ada.
i like "the nice wide-spectrum nature of Ada" :-)
If I got it right, it is the thickness*, that is, it goes both far in
low level and far in high level.
* Natacha Porte, https://www.youtube.com/watch?v=b5lRyBRk0d8&t=430s
(during 1:10 - sorry, it's only in french)
>
> It's important that a new language have a way to interface to existing
> hardware and software. So there has to be something that maps to C arrays
> and pointers (and the equivalent for hardware). But that doesn't necessarily
> have to be something that is used outside of interfacing. An Ada example is
> Unchecked_Unions -- they exist for interfacing but shouldn't be used
> otherwise.
i don't know much "exotic things" (for me) like embedded or real-time
programming,
but i would not take the risk to exclude users who need low level in
various cases (not only in interfaces),
so i think it would be better to keep a full thickness with the ability
to go far in low level at any place it is considered usefull.
> A fixed vector type and a raw general access type would do the
> trick, but those could be something that are almost never used outside of
> interfacing packages.
an other point here, is the ability to create new structures that could
be considered as "basic" later.
for example Ada.Containers.Multiway_Trees seems to be based on
Ada.Containers.Doubly_Linked_Lists,
and i don't know if it could be needed / usefull to have trees based on
Ada.Containers.Vectors,
but based on Ada.Containers.Ordered_Maps, certainly!
and sometimes using other high level data structures would be enough,
but probably sometimes it would be non-optimal, and maybe, in the worst
case, it could be impossible (especially in the event that we had not
foreseen all the needed high level data structures)
so, i think:
- we could keep arrays as is, no matter if they are rarly used.
- for access types, it would be nice to find a kind of "controlled
access type" that allows:
- to access the "raw general access type", as low level type,
when needed,
- to need not Unchecked_Deallocation, making automatic Deallocation,
- and which would not be too much high level
(for example Ada.Containers.Indefinite_Holders is fine).
--
RAPID maintainer
http://savannah.nongnu.org/projects/rapid/
next prev parent reply other threads:[~2022-04-18 1:51 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 [this message]
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