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,8ab6ed0f71c479cd X-Google-Attributes: gid103376,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Path: g2news1.google.com!news3.google.com!feeder1-2.proxad.net!proxad.net!feeder2-2.proxad.net!newsfeed.arcor.de!newsspool2.arcor-online.net!news.arcor.de.POSTED!not-for-mail From: "Dmitry A. Kazakov" Subject: Re: API design problem - buffer scatter I/O Newsgroups: comp.lang.ada User-Agent: 40tude_Dialog/2.0.15.1 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Reply-To: mailbox@dmitry-kazakov.de Organization: cbb software GmbH References: <1b06d68d-a6d8-4af3-8464-92e44224dcd6@20g2000yqt.googlegroups.com> <0b91f255-820a-4901-9785-746e0f01c788@g38g2000yqd.googlegroups.com> Date: Tue, 25 Nov 2008 09:34:16 +0100 Message-ID: <1mvzsv534mqcc.kvhlfegozvm7.dlg@40tude.net> NNTP-Posting-Date: 25 Nov 2008 09:34:16 CET NNTP-Posting-Host: 277380ed.newsspool4.arcor-online.net X-Trace: DXC=6B`MVWQHG>DNcfSJ;bb[5FCTGGVUmh?4LK[5LiR>kg2V]OTCfTR]O2 X-Complaints-To: usenet-abuse@arcor.de Xref: g2news1.google.com comp.lang.ada:2780 Date: 2008-11-25T09:34:16+01:00 List-Id: On Mon, 24 Nov 2008 21:59:41 -0800 (PST), christoph.grein@eurocopter.com wrote: >> Sure it is. �How a compiler represents data types (including access >> types) is an implementation detail. > > What I meant is the incompatibility between pointers to constrained > and unconstrained: I agree with you. Pointer to a subtype is not necessarily a subtype of the pointer to the base. That is not an implementation detail. It should be per programmer's choice. Unfortunately Ada lacks means to propagate type constraints between related types, which is the issue here. We need a way to say whether the constraint has to be moved from the target to the pointer, making the later unconstrained. That does not necessary imply that the pointer's representation must become "fat." That indeed would be an implementation detail, as Robert says. But the decision is not a detail. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de