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=unavailable 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!gandalf.srv.welterde.de!news.jacob-sparre.dk!loke.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: thick bindings, was Re: Vulkan is here! Date: Mon, 22 Feb 2016 17:56:23 -0600 Organization: JSA Research & Innovation Message-ID: References: NNTP-Posting-Host: rrsoftware.com X-Trace: loke.gir.dk 1456185384 13172 24.196.82.226 (22 Feb 2016 23:56:24 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Mon, 22 Feb 2016 23:56:24 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 Xref: news.eternal-september.org comp.lang.ada:29587 Date: 2016-02-22T17:56:23-06:00 List-Id: wrote in message news:na912e$cv0$1@gioia.aioe.org... > >The important reason for having access to some low-level binding is so > >that >>one can directly translate examples into Ada. The idea is that a medium >>binding preserves that (one uses the same objects, same parameters >>[possibly >>better typed], same subprogram calls), but makes those calls more sensible >>Ada code, letting the compiler provide more help to the programmer.) > > As I recall, there were a lot of Windows calls that did not work as > documented (or weren't documented completely). A thick binding like CLAW > works around and thus hides such things. A mechanically produced binding > wouldn't do that. True enough. In fairness to Microsoft, the state of their documentation in more recent years is a lot better than it was when we started creating CLAW. I recall being surprised on several occasions by reading about stuff that we had to figure out by trial-and-error. (Of course, that probably came about because of their anti-trust problems. One of the things they agreed to in the settlements was to fully document all APIs. The typical open source library probably doesn't have legal reasons for getting the documentation correct and complete. ;-) Randy.