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.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,5af5c381381ac5a7 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Path: g2news2.google.com!postnews.google.com!u7g2000yqm.googlegroups.com!not-for-mail From: Vadim Godunko Newsgroups: comp.lang.ada Subject: Re: Ada requires too much typing! Date: Thu, 10 Jun 2010 12:18:30 -0700 (PDT) Organization: http://groups.google.com Message-ID: <185331b6-e3ad-493e-900e-c9a0548a2cb3@u7g2000yqm.googlegroups.com> References: <03f84a0a-e070-43a9-9b68-920345f64f94@r27g2000yqb.googlegroups.com> <1c704c1e-1b2e-427f-ae0e-3b2a0f976c7c@y4g2000yqy.googlegroups.com> <10855f68-76a1-4600-ba65-464dab6c6274@w12g2000yqj.googlegroups.com> <7cb03fe5-a65c-4f0b-bd9d-a071b905aad1@y11g2000yqm.googlegroups.com> <4c10baa2$0$6974$9b4e6d93@newsspool4.arcor-online.net> NNTP-Posting-Host: 87.117.60.99 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1276197510 11017 127.0.0.1 (10 Jun 2010 19:18:30 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Thu, 10 Jun 2010 19:18:30 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: u7g2000yqm.googlegroups.com; posting-host=87.117.60.99; posting-account=niG3UgoAAAD7iQ3takWjEn_gw6D9X3ww User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100317 SUSE/3.5.9-0.1.1 Firefox/3.5.9,gzip(gfe) Xref: g2news2.google.com comp.lang.ada:12579 Date: 2010-06-10T12:18:30-07:00 List-Id: On Jun 10, 2:12=A0pm, Georg Bauhaus wrote: > > Will it, in theory, be possible to write a Qt-like library > in Ada such that client programs declare variables like > > =A0 =A0W : Some_Window'Class :=3D Some_Lib_Pack.Make (Typ =3D> Some_Id); > > That is, programs do not use access Some_Window'Class? Unfortunately, not now. All you can use now is instantiation of Qt_Ada.Generic_Object_Pointers as "container" for your object. This package is instantiated for every subclass derived from QObject. This generic introduces interesting idea of managing referenced object's life cycle, stored reference is automatically resetted to null when object is destroyed. By the way, ARG can think about such functionality in the next standard of the language, for example by returning back reference semantic for limited tagged types and their classwide companions. I think that this capability can significantly improve usage of the language outside of embedded system sector. And as gigantic example to test new language capabilities ARG can use... UML metamodel, it contains most kinds (and may be even all) of complex relations between classes.