From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Issue with GNAT GPL 2009 and GtkAda
Date: Fri, 26 Jun 2009 16:38:45 -0500
Date: 2009-06-26T16:38:45-05:00 [thread overview]
Message-ID: <h23f6e$fj8$1@munin.nbi.dk> (raw)
In-Reply-To: 1hi0km5xe1802.17l3qjn1g9525$.dlg@40tude.net
"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message
news:1hi0km5xe1802.17l3qjn1g9525$.dlg@40tude.net...
...
> I would remove anonymous access types altogether, fixing the real language
> problems, which led to introducing them in first place.
I don't think that there were any *real* language reasons for introducing
them; the reasons came from wanting to make Ada more appealing to C and Java
programmers. (A horrible reason for language design, IMHO.) They can be used
to work around some of Ada's other limitations.
In any case, it appears likely that Amendment 2 will repeal the prohibition
on "in out" parameters on functions (adding a conservative call check to
prevent obvious ordering dependencies).
We're also planning on adding a way to force by-reference parameter passing.
The motivating use is for the containers, but I'm sure it will find other
uses as well.
As far as the use of class-wide components, I think that would be easily
fixed by just allowing them. They would be fairly easy to implement in
Janus/Ada. (I'd also make it required to support any size of discriminant,
banning max-size only implementations). But I realize that that would be a
problem for safety-critical uses (there would be implicit allocation on some
assignments), so we'd also need a fairly strong set of restrictions for such
users.
That would reduce the need to use access types some more. (But it can never
be completely eliminated; sometimes you really do need reference semantics,
especially for returns.)
Randy.
next prev parent reply other threads:[~2009-06-26 21:38 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-23 21:52 Issue with GNAT GPL 2009 and GtkAda Damien Carbonne
2009-06-24 7:40 ` Dmitry A. Kazakov
2009-06-24 10:15 ` Stephen Leake
2009-06-25 9:06 ` Stephen Leake
2009-06-25 9:39 ` Dmitry A. Kazakov
2009-06-25 19:02 ` Damien Carbonne
2009-06-26 9:31 ` Stephen Leake
2009-06-26 11:18 ` Niklas Holsti
2009-06-26 16:29 ` Damien Carbonne
2009-06-26 17:28 ` Dmitry A. Kazakov
2009-06-26 19:27 ` Damien Carbonne
2009-06-26 19:50 ` Dmitry A. Kazakov
2009-06-26 21:51 ` Randy Brukardt
2009-06-27 11:11 ` Stephen Leake
2009-06-27 17:04 ` Robert A Duff
2009-06-30 11:11 ` Stephen Leake
2009-06-30 18:10 ` Robert A Duff
2009-06-29 22:11 ` Randy Brukardt
2009-06-30 11:13 ` Stephen Leake
2009-06-30 15:26 ` Adam Beneschan
2009-06-30 15:59 ` Adam Beneschan
2009-06-30 23:11 ` Randy Brukardt
2009-06-27 9:56 ` Stephen Leake
2009-06-26 21:03 ` Damien Carbonne
2009-06-27 11:21 ` Stephen Leake
2009-06-27 12:25 ` Damien Carbonne
2009-06-27 12:35 ` Damien Carbonne
2009-06-29 22:15 ` Randy Brukardt
2009-07-01 19:22 ` Damien Carbonne
2009-06-30 0:48 ` Adam Beneschan
2009-06-30 11:18 ` Stephen Leake
2009-06-25 20:49 ` Randy Brukardt
2009-06-26 7:20 ` Dmitry A. Kazakov
2009-06-26 8:17 ` Georg Bauhaus
2009-06-26 8:52 ` Dmitry A. Kazakov
2009-06-26 21:38 ` Randy Brukardt [this message]
2009-06-27 7:47 ` Dmitry A. Kazakov
2009-06-29 21:59 ` Randy Brukardt
2009-06-30 8:31 ` Dmitry A. Kazakov
2009-06-26 21:31 ` Randy Brukardt
2009-06-27 7:53 ` Dmitry A. Kazakov
2009-06-26 8:39 ` Alex R. Mosteo
2009-06-26 9:07 ` Dmitry A. Kazakov
2009-06-27 9:53 ` Stephen Leake
2009-06-26 21:40 ` Randy Brukardt
2009-06-29 10:04 ` Alex R. Mosteo
2009-06-26 9:02 ` Stephen Leake
2009-06-26 9:14 ` Dmitry A. Kazakov
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox