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,9b6cb8bcc54f7ed4 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news4.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local01.nntp.dca.giganews.com!nntp.comcast.com!news.comcast.com.POSTED!not-for-mail NNTP-Posting-Date: Sun, 24 Sep 2006 15:43:28 -0500 From: tmoran@acm.org Newsgroups: comp.lang.ada Subject: Re: Cairo Ada binding questions References: <4516b16a$0$31395$626a54ce@news.free.fr> X-Newsreader: Tom's custom newsreader Message-ID: Date: Sun, 24 Sep 2006 15:43:29 -0500 NNTP-Posting-Host: 67.164.83.70 X-Trace: sv3-YmdpCSW5XkH76wHELWczDCZLedCE5bdyNwr1AOrpKSAU7Ak17fOONopcbqt1T2ZMQH7lAh1nju9wmQG!8Ji0jEQq/a2y2JAr0kwEAHLdQRKZKVNIh8aY+KHkaIea8H/9U5aMGdD1v88nvryZ8cfWi4YE3sZ4!+QnIQlmdt7kkaw== X-Complaints-To: abuse@comcast.net X-DMCA-Complaints-To: dmca@comcast.net X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.32 Xref: g2news2.google.com comp.lang.ada:6710 Date: 2006-09-24T15:43:29-05:00 List-Id: >My trouble is with a thick Ada API. >... >There is also another solution, that would consist in hiding the Surface >concept, providing only the Surface_Handle one. How about letting the user deal with Surfaces, ie, his problem space, and you deal with handles and reference counts in the computer-centric view. It will be more work for you, but you did say you're trying to make a thick binding. With the CLAW thick binding to MS Windows, for instance, we have type Root_Window_Type is abstract new Ada.Finalization.Controlled with private; and the user works with various descendants of Root_Window_Type while CLAW uses dispatching to call the routines specific to that child, and typically uses inherited routines for things in common like reference counting. >Any advice would be appreciated ! You might want to read: http://www.rrsoftware.com/html/prodinf/triadapaper/triada.docsrc.html