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.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,29d8139471e3f53e X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Path: g2news1.google.com!news1.google.com!volia.net!news2.volia.net!feed-A.news.volia.net!news.musoftware.de!wum.musoftware.de!newsfeed.kamp.net!newsfeed.kamp.net!news.netcologne.de!ramfeed1.netcologne.de!newsfeed.arcor.de!newsspool2.arcor-online.net!news.arcor.de.POSTED!not-for-mail From: "Dmitry A. Kazakov" Subject: Re: Preventing type extensions Newsgroups: comp.lang.ada User-Agent: 40tude_Dialog/2.0.15.1 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Reply-To: mailbox@dmitry-kazakov.de Organization: cbb software GmbH References: <87iq2bfenl.fsf@mid.deneb.enyo.de> <874odv9npv.fsf@ludovic-brenta.org> <87y6b7cedd.fsf@mid.deneb.enyo.de> <66a3704c-54f9-4f04-8860-aa12f516134b@t3g2000vbb.googlegroups.com> <87d3sib44t.fsf@mid.deneb.enyo.de> <134q4k2ly2pf4$.17nlv1q6q5ivo.dlg@40tude.net> <4c8dec8e$0$6990$9b4e6d93@newsspool4.arcor-online.net> <8f6cceFrv2U1@mid.individual.net> <135a7dc9-3943-45e4-884b-3cc6bce3db0a@q18g2000vbm.googlegroups.com> Date: Tue, 21 Sep 2010 16:19:39 +0200 Message-ID: <10rutrnp4yp1b$.vxcbtginicg9.dlg@40tude.net> NNTP-Posting-Date: 21 Sep 2010 16:19:39 CEST NNTP-Posting-Host: dfc5011f.newsspool2.arcor-online.net X-Trace: DXC=H4Ac3k]aONc<6cDJZfMd_cA9EHlD;3Ycb4Fo<]lROoRa8kF On Tue, 21 Sep 2010 06:57:36 -0700 (PDT), Cyrille wrote: > On Sep 13, 11:13�pm, "J-P. Rosen" wrote: > >> These arguments make sense for languages without the notion of >> class-wide types. > > all OO languages I'm aware of, have the notion of classwide types... > They just don't make the distinction between a type on its own and a > type with its derived types. If you think about it, it is a peculiar > distinction at the "design" level. It is a distinction between a member and a set where it belongs to. These are not equivalent. Furthermore a type may be member of more than one classes (sets of types). Also an operation may be primitive in more than one class (AKA multiple dispatch). In this context it is difficult to see how the model of re-dispatching primitive operations could be made feasible. > A horse is an animal... But animal is not necessary a horse. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de