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,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,103b407e8b68350b X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-02-03 05:26:35 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!arclight.uoregon.edu!news.tufts.edu!uunet!dca.uu.net!ash.uu.net!spool0900.news.uu.net!reader0902.news.uu.net!not-for-mail Date: Mon, 03 Feb 2003 08:26:33 -0500 From: Hyman Rosen User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.3a) Gecko/20021212 X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Anybody in US using ADA ? One silly idea.. References: <1043855067.848326@master.nyc.kbcfp.com> <3OXZ9.85359$Ve4.6306@sccrnsc03> <1043880843.44251@master.nyc.kbcfp.com> <1043938782.244443@master.nyc.kbcfp.com> <25ji3v8n915cnnnaqpjvm4f7i01a66r9pf@4ax.com> <1043949507.331484@master.nyc.kbcfp.com> <1044025336.3067@master.nyc.kbcfp.com> <1044033063.693737@master.nyc.kbcfp.com> <2b9s3vo3bbnaikqd6d4jpppfflfq2kbgfu@4ax.com> In-Reply-To: <2b9s3vo3bbnaikqd6d4jpppfflfq2kbgfu@4ax.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Organization: KBC Financial Products Message-ID: <1044278793.419261@master.nyc.kbcfp.com> Cache-Post-Path: master.nyc.kbcfp.com!unknown@fixedcost.nyc.kbcfp.com X-Cache: nntpcache 3.0.1 (see http://www.nntpcache.org/) NNTP-Posting-Host: 204.253.250.10 X-Trace: 1044278794 reader2.ash.ops.us.uu.net 19756 204.253.250.10 Xref: archiver1.google.com comp.lang.ada:33721 Date: 2003-02-03T08:26:33-05:00 List-Id: Dmitry A. Kazakov wrote: > Then you should explain what "is a" does mean. It is definitely not > mathematical =, as memcpy shows. Memcpy is not a "mathematical =" but a procedure which copies a bunch of bytes in memory. You won't like my explanation of "is a" becuase it's purely practical - "B is a A" means that a pointer or reference to A may hold a pointer or reference to an object of type B (or a type which "is a B") and may call methods of A using that pointer or reference. > If you define a type, say, "field". But we are not talking about defining a type, but about defining a procedure. This procedure defines an interface implicitly by virtue of the operations it uses. You then claim that this implicit interface needs to be augmented with operations that the procedure doesn't need, and then that types upon which the procedure operates need to have these useless operations, and that this somehow achieves safety! I am just baffled.