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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,2d2df3e9ad18fa63 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-06-20 18:49:18 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!nntp-relay.ihug.net!ihug.co.nz!west.cox.net!east.cox.net!cox.net!p01!lakeread05.POSTED!not-for-mail From: David Emery User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.4a) Gecko/20030401 X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: ISO/IEC 14519 - Ada POSIX binding References: <3EF2F6B8.3030706@noplace.com> <3EF338C5.2010005@cogeco.ca> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: Date: Fri, 20 Jun 2003 21:49:16 -0400 NNTP-Posting-Host: 68.98.177.213 X-Complaints-To: abuse@cox.net X-Trace: lakeread05 1056160156 68.98.177.213 (Fri, 20 Jun 2003 21:49:16 EDT) NNTP-Posting-Date: Fri, 20 Jun 2003 21:49:16 EDT Organization: Cox Communications Xref: archiver1.google.com comp.lang.ada:39512 Date: 2003-06-20T21:49:16-04:00 List-Id: Wesley Groleau wrote: ... > The POSIX binding I looked at had a single exception, > POSIX_Error and then you were supposed to examine the > errno variable. Proctalgia, but it's the price you pay > for interfacing to such a primitive system. Rather than > "roll-your-own" completely, I'd say use POSIX as a thin > binding and provide a thick binding to wrap it in. If you read the rationale (one of the best parts of the document, IMHO), you'll see that the primary consideration for this decision is the fact that the set of errors for any given POSIX system call is NOT fixed. POSIX defines a minimum set of error conditions, implementations may add additional errors (and most have, particularly as network-based computing has expanded.) Any error handling technique must accomodate extension. In general, extension considerations drove much of the POSIX/Ada design, and with almost 15 years of hindsight, I think we got the balance between rigid specification and support for vendor and subsequent standard extensions just about right. And, as someone else pointed out earlier, the original POSIX/Ada binding work was done in Ada83. The standard came out about the same time as Ada95, and there was a lot of cross-fertilization, so that we looked at Ada95-like solutions that could be expressed in Ada83. One specific influence FROM the POSIX/Ada effort was the notion of Library-level renames, so that we could construct the whole POSIX/Ada95 namespace from library-level renames of the POSIX/Ada83 packages. dave (tech editor, original IEEE 1003.5)