comp.lang.ada
 help / color / mirror / Atom feed
From: adambeneschan@gmail.com
Subject: Re: Pass a serial port as user data in a GTK callback handler?
Date: Mon, 17 Feb 2014 08:20:48 -0800 (PST)
Date: 2014-02-17T08:20:48-08:00	[thread overview]
Message-ID: <58fb9abc-1892-4a36-9895-c494dbc727c9@googlegroups.com> (raw)
In-Reply-To: <050a1b45-c312-4fff-96f9-7c3d01466500@googlegroups.com>

On Monday, February 17, 2014 8:13:09 AM UTC-8, I wrote:
> On Saturday, February 15, 2014 3:32:58 PM UTC-8, hreba wrote:

> I agree with everyone else that anonymous access types aren't needed in this case, and you're better off using a named access type or something else.  Having said that, I just wanted to point out something about Ada: all anonymous access types are automatically "access all", i.e. they can refer to aliased variables.  So you could have solved the problem by just removing the "all" keyword.

To expound on this a bit, since you mentioned you were overwhelmed by the complexity of the language: This particular inconsistency is there because of backward compatibility.  Ada 83 did not have access types that could point to variables, nor did it have anonymous access types.  Those were added in Ada 95.  The Ada 95 designers decided that since Ada 83 access types didn't have to be implemented as addresses, it was necessary to have some way to distinguish between an access type that could point to a variable and an access type that was required to point to something allocated with "new"; in order not to break existing Ada 83 programs, the "access all" type was added, which I'm sure they hated having to do (adding the extra keyword), but sometimes there just isn't a good solution.  

                                     -- Adam



  reply	other threads:[~2014-02-17 16:20 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-15 23:32 Pass a serial port as user data in a GTK callback handler? hreba
2014-02-16  0:35 ` Jeffrey Carter
2014-02-16 16:18   ` hreba
2014-02-16  7:45 ` Niklas Holsti
2014-02-16 16:14   ` hreba
2014-02-16  9:20 ` Dmitry A. Kazakov
2014-02-16 16:57   ` hreba
2014-02-16 18:02     ` Dmitry A. Kazakov
2014-02-17 16:13 ` adambeneschan
2014-02-17 16:20   ` adambeneschan [this message]
2014-02-17 21:31     ` Robert A Duff
2014-02-19  0:53       ` Randy Brukardt
2014-02-19 22:22         ` Robert A Duff
2014-02-20  0:34           ` Randy Brukardt
2014-02-20 11:07             ` Simon Wright
2014-02-20 16:11             ` Robert A Duff
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox