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=-1.9 required=5.0 tests=BAYES_00 autolearn=ham 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!postnews.google.com!g38g2000yqd.googlegroups.com!not-for-mail From: christoph.grein@eurocopter.com Newsgroups: comp.lang.ada Subject: Re: API design problem - buffer scatter I/O Date: Mon, 24 Nov 2008 21:59:41 -0800 (PST) Organization: http://groups.google.com Message-ID: <0b91f255-820a-4901-9785-746e0f01c788@g38g2000yqd.googlegroups.com> References: <1b06d68d-a6d8-4af3-8464-92e44224dcd6@20g2000yqt.googlegroups.com> NNTP-Posting-Host: 80.156.44.178 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1227592781 20174 127.0.0.1 (25 Nov 2008 05:59:41 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Tue, 25 Nov 2008 05:59:41 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: g38g2000yqd.googlegroups.com; posting-host=80.156.44.178; posting-account=rmHyLAoAAADSQmMWJF0a_815Fdd96RDf User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1; .NET CLR 3.0.04506.30),gzip(gfe),gzip(gfe) X-HTTP-Via: 1.1 webwasher (Webwasher 6.8.2.3963) Xref: g2news1.google.com comp.lang.ada:2778 Date: 2008-11-24T21:59:41-08:00 List-Id: Thank you, Bob, for these illustrative comments. Problems with wiki is that people with no good knowledge about the innards of a language implementation may contribute (and I include myself into this class). I fear you do not feel like correcting the wiki. I know, it's much work, the whole chapter has to be rearranged. > >...This is not an implementation > > detail. > > Sure it is. =A0How a compiler represents data types (including access > types) is an implementation detail. What I meant is the incompatibility between pointers to constrained and unconstrained: type Unc is array (Integer range <>) of Character; type Acc_Unc is access Unc; CO: aliased Unc (-1 .. +1) :=3D (-1 .. +1 =3D> ' '); UO: aliased Unc :=3D (-1 .. +1 =3D> ' '); A: Acc_Unc :=3D CO'Access; -- illegal B: Acc_Unc :=3D UO'Access; -- OK C: Acc_Unc (CO'Range) :=3D CO'Access; -- also illegal which is not an implementation detail.