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,c32fe290813aec20 X-Google-Attributes: gid103376,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news1.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!wns13feed!worldnet.att.net!164.128.36.58!news.ip-plus.net!newsfeed.ip-plus.net!news.post.ch!not-for-mail From: Martin Krischik Newsgroups: comp.lang.ada Subject: Re: New Ada portable GUI Library? Date: Wed, 16 Jan 2008 09:52:29 +0100 Organization: Swisscom IP+ (post doesn't reflect views of Swisscom) Message-ID: <478dc5cd$1@news.post.ch> References: <6d63c543-0a35-4c39-a330-98c63a24f64d@i3g2000hsf.googlegroups.com> <1365533.nRhg4MZKNK@linux1.krischik.com> <4e5ffa74-e1d6-4e80-9dd9-824df475a60c@e10g2000prf.googlegroups.com> <970df333-8c12-4f5d-b32b-ded6a84a0195@v4g2000hsf.googlegroups.com> <478A1CE2.4040200@obry.net> <478A1EAB.8020206@obry.net> <478c66ab$1@news.post.ch> NNTP-Posting-Host: 194.41.146.1 Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Trace: atlas.ip-plus.net 1200473552 24425 194.41.146.1 (16 Jan 2008 08:52:32 GMT) X-Complaints-To: abuse@ip-plus.net NNTP-Posting-Date: Wed, 16 Jan 2008 08:52:32 +0000 (UTC) User-Agent: Thunderbird 2.0.0.9 (Windows/20071031) In-Reply-To: X-Original-NNTP-Posting-Host: w03duo.pnet.ch X-Original-Trace: 16 Jan 2008 09:52:29 +0100, w03duo.pnet.ch Xref: g2news1.google.com comp.lang.ada:19431 Date: 2008-01-16T09:52:29+01:00 List-Id: Brian May schrieb: >>>>>> "Martin" == Martin Krischik writes: > > Martin> There is just one problem here: Both Gtk+ and QT are OO libraries which > Martin> are not all that compatible with the Ada's OO way of live and this in > Martin> turn mean that layer (2) and (3) might not be as tiny as we hope for. > > I am curious - in what why are they not compatible? First of all: all OO systems are incompatible. Sad but true. They use different name mangler, different class tags (also called virtual function tables) and so on. In detail: Qt: is written in C++. One could use Convention => Cpp to make all those classes available. But Convention => Cpp is not part if the RM, seldom used (meaning: badly tested) and difficult to use - but at least the result behaves like normal tagged types and is pragma Export capable. Gtk+: Used some OO layer on top of C. Using C make import to Ada easier - but just importing the functions won't make the tagged type and you create the tagged types proxys then they won't be pragma Export capable. Note that I am not only speaking about importing an existing class library but also about enhancing/inheriting from it and then exporting the new enhancements back. Note also: I did not say "totally incompatible". With enough effort it is possible. You might have also noticed the OpenStep discussion. With OpenStep one does not even try make anything compatible - OpenStep approach is to add a 2nd dynamically typed OO system in parallel - similar to Objective-C++. Martin -- mailto://krischik@users.sourceforge.net Ada programming at: http://ada.krischik.com