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 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: GNAT.Serial_Communication and Streams Date: Sun, 29 Nov 2015 10:33:11 +0100 Organization: cbb software GmbH Message-ID: <1md8zzdj58km6.29ifig2hpyrf$.dlg@40tude.net> References: <1pl8set3ocirg.1v92rqtxaoq3z$.dlg@40tude.net> <69b11711-7f19-4b0f-9a5e-66b873a72cc2@googlegroups.com> <176k4qaseow2w.1cckz2yfyq3m2.dlg@40tude.net> <0878b65a-dd37-4f30-a49c-2f2e41c06f6a@googlegroups.com> <12af12c0-b497-418c-9664-8f91c17df1e3@googlegroups.com> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: Sfz0eNwKWh4Uq03iti+GMw.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Xref: news.eternal-september.org comp.lang.ada:28586 Date: 2015-11-29T10:33:11+01:00 List-Id: On Sun, 29 Nov 2015 00:45:22 -0800 (PST), Shark8 wrote: > On Wednesday, November 25, 2015 at 10:43:27 AM UTC-7, Dmitry A. Kazakov wrote: >> This immediately follows from being "implementation-defined." >> Implementation-defined = [forall] not defined. > > Ridiculous. Ridiculous statements have ridiculous consequences... > Just because the standard makes [e.g.] the Address type implementation > defined does not mean that the Address type has no definition, It means exactly this. You confuse two things: A. definition given by the standard B. definition given by an implementation of the standard B must be conformant to A [B => A]. The reverse is wrong [not (B <= A)] > or that absolutely any possible implementation conforms to all requirements. Why absolute? Only the variation of legal implementations which would make a portable implementation of some given requirement impossible. For example, you cannot have a requirement for Address to accommodate 3GB address space. That does *not* follow from ARM. So, if you need your program to satisfy this requirement and be portable, you will have to implement your own Address type. Similarly, if the requirement is to have portable stream I/O, you must override stream attributes. Just so. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de