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.6 required=5.0 tests=BAYES_00,LOTS_OF_MONEY, TO_NO_BRKTS_FROM_MSSP autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,958ed45cc4906b53 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-07-31 10:36:28 PST Path: archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!feed.textport.net!newsranger.com!www.newsranger.com!not-for-mail Newsgroups: comp.lang.ada From: Ted Dennison References: <6uk97.11952$ar1.37575@www.newsranger.com> Subject: Re: Distributed system portability Message-ID: X-Abuse-Info: When contacting newsranger.com regarding abuse please X-Abuse-Info: forward the entire news article including headers or X-Abuse-Info: else we will not be able to process your request X-Complaints-To: abuse@newsranger.com NNTP-Posting-Date: Tue, 31 Jul 2001 13:36:22 EDT Organization: http://www.newsranger.com Date: Tue, 31 Jul 2001 17:36:22 GMT Xref: archiver1.google.com comp.lang.ada:10885 Date: 2001-07-31T17:36:22+00:00 List-Id: In article , tmoran@acm.org says... >>I'd say its a bit worse than that. You really shouldn't try to access >>them from code that wasn't compiled with the same Ada compiler (unless you >>are *real* careful). Even the same compiler on different platforms could >>give different results. > That's true unless only if (you use default 'read etc) or (the size >of Stream_Element is different). The former is easily made false and >the latter is rather unlikely to be true, and certainly should not >come as a surprise if you are working with such differing machines. That's what I meant by "*real* careful". To make sure they match in a specific case, you can just try things out and reimplement yourself whatever doesn't work right because of compiler/target differences. For example, you can implement your own 'Read, 'Write, 'Input, 'Output, and the streams themselves if need be. You can check for Ada.Streams.Stream_Element'size and account for that. However, to make things truly *portable*, so that no such iterative checking is involved, you have to do *all* this (including implementing all the stream attributes for *all* types that will ever be used with the stream, excepting perhaps some composite types). With that much work involved, the streams aren't really providing you much except the supposedly nice syntax. --- T.E.D. homepage - http://www.telepath.com/dennison/Ted/TED.html home email - mailto:dennison@telepath.com