From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,f82868bd08967223 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.68.0.170 with SMTP id 10mr26660976pbf.2.1321351707327; Tue, 15 Nov 2011 02:08:27 -0800 (PST) Path: h5ni56878pba.0!nntp.google.com!news1.google.com!news3.google.com!proxad.net!feeder1-2.proxad.net!news-transit.tcx.org.uk!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Booch Components question Date: Tue, 15 Nov 2011 11:08:50 +0100 Organization: cbb software GmbH Message-ID: <18rdt6sosaxoe$.1xxh3zadbspgf.dlg@40tude.net> References: Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: FbOMkhMtVLVmu7IwBnt1tw.user.speranza.aioe.org Mime-Version: 1.0 X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Xref: news1.google.com comp.lang.ada:18930 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Date: 2011-11-15T11:08:50+01:00 List-Id: On Tue, 15 Nov 2011 09:23:42 +0000, Simon Wright wrote: > "Dmitry A. Kazakov" writes: >> On Mon, 14 Nov 2011 17:18:14 -0600, Randy Brukardt wrote: > >>> OTOH, the name "list" seems highly confusing. "List" seems to have >>> gained a fairly standard meaning in the use of containers, and I'm >>> not surprised that most people look there first. Having something >>> that works rather differently with that name is asking for trouble. >> >> Hmm, what do you mean? The BC's list looks pretty much like list to >> me. > > On the surface, yes. But the 'structural sharing' is both hairy and > difficult to understand. > > -- These abstractions have been carefully constructed to eliminate > -- all storage leaks, except in the case of intentional > -- abuses. When a list is manipulated, all items that become > -- unreachable are automatically reclaimed. Furthermore, this > -- design protects against dangling references: an item is never > -- reclaimed if there exists a reference to it. Any list implementation must deploy some memory collection schema. BC uses this one, so what? I understand that the argument might be to provide unchecked lists instead and leave memory collection to the user. But then the merits of including such lists into the standard become questionable at least. It is also clear that some users would need different schemas, e.g. arena. Al this only means that there cannot be any "standard" list component, because list, memory collection schema, task safety cannot be properly decoupled. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de