comp.lang.ada
 help / color / mirror / Atom feed
From: Simon Wright <simon@pushface.org>
Subject: Re: Pop function
Date: Thu, 15 Dec 2011 21:02:09 +0000
Date: 2011-12-15T21:02:09+00:00	[thread overview]
Message-ID: <m2ehw58s6m.fsf@pushface.org> (raw)
In-Reply-To: 1kofjewuvxn4n.xiil34dbjf9i$.dlg@40tude.net

"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes:

> On Thu, 15 Dec 2011 12:57:47 -0700, Jeffrey Carter wrote:
>
>> On 12/15/2011 01:38 AM, Dmitry A. Kazakov wrote:
>>> On Wed, 14 Dec 2011 17:34:57 -0700, Jeffrey Carter wrote:
>>>
>>>> Your public interface should never use access types.
>>>
>>> Yes, but since list as a data structure has the semantics of objects
>>> accessed by references it would make sense to have this reflected in the
>>> interface. But of course the list element must be
>>>
>>>     type List_Item is access Integer; -- Only the data, no other mess
>> 
>> No, a public interface should never use access types, ever. Hiding
>> those is what abstraction is about. Any public interface that uses
>> access types is poorly designed.
>
> In that case there should be no linked lists at all. A linked list is per
> its definition a set of elements accessed using pointers.

I don't think that using the word "linked" in the name is the same as
"using access types in the abstraction"!

I've seen linked lists that were implemented (under the hood) with
indices into an array of items.



  reply	other threads:[~2011-12-15 21:02 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-15  0:06 Pop function Rego, P.
2011-12-15  0:29 ` Martin Dowie
2011-12-15  1:23   ` Rego, P.
2011-12-15  2:08   ` Adam Beneschan
2011-12-15 22:59     ` Martin Dowie
2011-12-16 10:27       ` georg bauhaus
2011-12-15  0:34 ` Jeffrey Carter
2011-12-15  1:35   ` Rego, P.
2011-12-15  2:55     ` Alex Mentis
2011-12-15  3:00       ` Alex Mentis
2011-12-15  3:00     ` Jeffrey Carter
2011-12-15  3:41       ` Rego, P.
2011-12-15  8:38   ` Dmitry A. Kazakov
2011-12-15 19:57     ` Jeffrey Carter
2011-12-15 20:15       ` Dmitry A. Kazakov
2011-12-15 21:02         ` Simon Wright [this message]
2011-12-15 21:25           ` Jeffrey Carter
2011-12-16  8:23           ` Dmitry A. Kazakov
2011-12-16  0:31       ` Randy Brukardt
2011-12-15  2:06 ` Adam Beneschan
2011-12-15  3:27   ` Rego, P.
2011-12-15 12:43     ` Simon Wright
2011-12-15 15:54       ` Adam Beneschan
2011-12-15 18:34         ` Simon Wright
2011-12-15 19:14           ` Dmitry A. Kazakov
2011-12-15 16:14     ` Adam Beneschan
2011-12-28 13:04       ` Rego, P.
replies disabled

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