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,7f2ce8bda9cae4ab X-Google-Attributes: gid103376,public Path: controlnews3.google.com!news2.google.com!fu-berlin.de!uni-berlin.de!not-for-mail From: Dmitry A. Kazakov Newsgroups: comp.lang.ada Subject: Re: "Must instantiate controlled types at library level." Why? Date: Wed, 19 May 2004 16:17:27 +0200 Message-ID: <31rma0t3mq560urrphpkrsg23vqva1csb2@4ax.com> References: <1084974265.36615@master.nyc.kbcfp.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: news.uni-berlin.de CRDy5MOUu8bfXN6ePrIpkQzmCek/ds5K+5y88ZxWu0FOA204Q= X-Newsreader: Forte Agent 1.8/32.548 Xref: controlnews3.google.com comp.lang.ada:688 Date: 2004-05-19T16:17:27+02:00 List-Id: On Wed, 19 May 2004 09:44:24 -0400, Hyman Rosen wrote: >Georg Bauhaus wrote: >> Then what will help an Abstract Datatype? How? > >It's Kazakov's post, so you should know the answer by now :-) > >He wants ADTs to be implemented using an inherited interface >but to keep the virtual table pointer (or other implementation) >separate from the objects by implementing fat pointers which >combine the address of the object and the address of the vtable. > >In this way, he hopes that the code generative power of knowing the >explicit types involved in an operation can combine cleanly with the >expressive power of OO polymorphism. He is both encouraged and >discouraged by the distinction Ada makes between classwide types and >regular types because this comes tantalizingly close to implementing >his vision, unlike in C++ where this is intertwined with parameter >passing semantics of by-reference or by-value. Nicely put, Hyman. Thanks. -- Regards, Dmitry Kazakov www.dmitry-kazakov.de