comp.lang.ada
 help / color / mirror / Atom feed
From: Robert A Duff <bobduff@shell01.TheWorld.com>
Subject: Re: Preventing Unchecked_Deallocation?
Date: Tue, 07 Feb 2012 11:39:40 -0500
Date: 2012-02-07T11:39:40-05:00	[thread overview]
Message-ID: <wccd39q7g37.fsf@shell01.TheWorld.com> (raw)
In-Reply-To: 645ab281-7fde-40ed-ab24-bc2b42bcda1a@15g2000vbq.googlegroups.com

Shark8 <onewingedshark@gmail.com> writes:

> You know, I remember reading somewhere that Ada chose ACCESS because
> it could be implemented as something other than an integer... like a
> record (remember the segment:offset pairs on the 286?).

I've heard things like that, too.  But it makes no sense to me.
How could calling something "access" instead of "pointer" or
"reference" affect its semantics?  It just confuses people.

Pascal calls these things "pointers", and their semantics is
the same as Ada[*] access types, so there's nothing about the
word "pointer" that needs to imply "low-level, hardware
address, address arithmetic, just-an-integer, etc".

[*] Ada 83, that is.  Later versions of Ada added some additional
functionality, some of which is LESS safe than Pascal pointers.

> Technically still an "address stored in memory" but far better (IMO)
> than the "yeah-its-an-integer" of most other languages.

I don't think there's any such implication in most other languages.
After all, C is implemented on 8086 and 80286 using segment:offset
pointers.  And it's possible to implement a bounds-checked version
of C using fat pointers -- but it would be grossly inefficient.

- Bob



  reply	other threads:[~2012-02-07 16:39 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-02 23:41 Preventing Unchecked_Deallocation? Simon Belmont
2012-02-04 14:40 ` AdaMagica
2012-02-05 16:42   ` Simon Belmont
2012-02-06 12:52     ` Julian Leyh
2012-02-06 16:05       ` Adam Beneschan
2012-02-06 16:21     ` Adam Beneschan
2012-02-06 18:34       ` AdaMagica
2012-02-07  0:14       ` Simon Belmont
2012-02-07  2:19         ` Shark8
2012-02-07 16:39           ` Robert A Duff [this message]
2012-02-07 11:42         ` Gautier write-only
2012-02-07 21:11           ` Simon Belmont
2012-02-07 21:30             ` Robert A Duff
2012-02-07 22:23               ` Simon Wright
2012-02-07 23:07                 ` Robert A Duff
2012-02-08  8:43                   ` Simon Wright
2012-02-08 15:06                     ` Robert A Duff
2012-02-09  2:22                     ` Randy Brukardt
2012-02-09  7:28                       ` Simon Wright
2012-02-07 23:06               ` Alan Copeland
2012-02-07 23:10                 ` Robert A Duff
2012-02-09  2:49         ` Randy Brukardt
2012-02-09  3:39           ` Jeffrey Carter
2012-02-09 15:47             ` Adam Beneschan
2012-02-09 19:16               ` Jeffrey Carter
2012-02-09  7:37           ` Simon Wright
2012-02-10  1:08             ` Randy Brukardt
2012-02-10  7:35               ` Simon Wright
2012-02-07  6:26     ` Jeffrey Carter
2012-02-08  8:49       ` Maciej Sobczak
2012-02-08 23:40         ` BrianG
2012-02-09  2:57         ` Randy Brukardt
2012-02-09  7:13           ` Pascal Obry
2012-02-10  1:12             ` Randy Brukardt
2012-02-09  8:08           ` Maciej Sobczak
2012-02-10  1:18             ` Randy Brukardt
2012-02-07 16:27     ` 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