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,24d7acf9b853aac8 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news3.google.com!proxad.net!feeder1-2.proxad.net!u-picardie.fr!news.ecp.fr!news.jacob-sparre.dk!pnx.dk!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: S-expression I/O in Ada Date: Tue, 10 Aug 2010 17:06:39 -0500 Organization: Jacob Sparre Andersen Message-ID: References: <547afa6b-731e-475f-a7f2-eaefefb25861@k8g2000prh.googlegroups.com> <1qk2k63kzh7yv$.3jgc403xcqdw$.dlg@40tude.net> <8ae8e899-9eef-4c8c-982e-bfdfc10072f1@h17g2000pri.googlegroups.com> <258zlxrv4fn6.1vszho1rtmf48$.dlg@40tude.net> <984db477-973c-4a66-9bf6-e5348c9b95f2@n19g2000prf.googlegroups.com> <46866b8yq8nn$.151lqiwa0y2k6.dlg@40tude.net> <13b07f2c-2f35-43e0-83c5-1b572c65d323@y11g2000yqm.googlegroups.com> <13tpf7ya3evig$.h05p3x08059s$.dlg@40tude.net> <1lhdkikeh2sif.bd3pon3knbv8.dlg@40tude.net> <7027f0c6-d909-428c-ab8d-6ba1bd7ff4b2@x21g2000yqa.googlegroups.com> <1424bzz54867w.soj1iq72wkwl$.dlg@40tude.net> NNTP-Posting-Host: static-69-95-181-76.mad.choiceone.net X-Trace: munin.nbi.dk 1281478001 11702 69.95.181.76 (10 Aug 2010 22:06:41 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Tue, 10 Aug 2010 22:06:41 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5843 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 X-RFC2646: Format=Flowed; Original Xref: g2news1.google.com comp.lang.ada:13090 Date: 2010-08-10T17:06:39-05:00 List-Id: "Robert A Duff" wrote in message news:wccy6ceaaxz.fsf@shell01.TheWorld.com... > "Randy Brukardt" writes: > >> Not sure if it still exists in the real world, but the compiler we did >> for >> the Unisys mainframes used Stream_Element'Size = 9. > > Interesting. Can these machines communicate with non-Unisys machines > over a regular TCP/IP network? E.g. send an e-mail using standard > protocols, that can be read on a x86? > > I assume Storage_Element'Size = 9, too. Correct? I think so, although we had tried for a while to use 36 for such things (it was a word-addressable machine). But since we were using the C code generator, it emulated a 9-bit byte addressable machine for the obvious reasons, and eventually we changed to that model, using strong alignments to make the code more efficient. > Next question: Is (was) there any Ada implementation where > Stream_Element'Size /= Storage_Element'Size? > >>...(The Unisys mainframes >> are 36-bit machines.) Stream_Element'Size = 8 would have made the code >> for >> handling arrays awful. >> >> Similarly, Character'Size = 9 on that machine. > > That sounds like a non-conformance, at least if the SP Annex > is supported. Maybe you mean X'Size = 9, where X is of > type Character? You'd certainly want 'Component_Size = 9 > for array-of-Character. You're probably right. I never implemented Ada 95 'Size because it is meaningless. Janus/Ada 'Size is essentially what GNAT calls 'Object_Size, and it is used for all allocation/representation decisions in the absence of representation clauses. (Indeed, what I intend to do "someday" is covert the existing Size code to be reported as Object_Size, following the model of the rejected AI on that attribute, and then implement 'Size as mandated by the Standard, for no purpose other than matching the legality rules of the Standard. (Object_Size would continue to be the significant factor in object layout.) Randy.