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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,604e0f87aa06eab6 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-03-24 10:08:29 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!headwall.stanford.edu!fu-berlin.de!uni-berlin.de!dialin-145-254-037-231.arcor-ip.NET!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Imitation is the sincerest form of flattery Date: Mon, 24 Mar 2003 19:10:21 +0100 Organization: At home Message-ID: References: <7eee7v4hpvj0i5s345uonlen5315rhiau8@4ax.com> <4dkea.75440$gi1.38045@nwrdny02.gnilink.net> <5115eb96.0303220201.44527637@posting.google.com> <5115eb96.0303232053.2fcc7d78@posting.google.com> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: dialin-145-254-037-231.arcor-ip.net (145.254.37.231) Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7Bit X-Trace: fu-berlin.de 1048529307 77343696 145.254.37.231 (16 [77047]) User-Agent: KNode/0.7.1 Xref: archiver1.google.com comp.lang.ada:35657 Date: 2003-03-24T19:10:21+01:00 List-Id: Amir Yantimirov wrote: > "Dmitry A. Kazakov" wrote in message > news:... >> Amir Yantimirov wrote: >> >> > Dmitry A. Kazakov wrote in message >> > news:... >> >> >> In my view to fully support ADT would mean that any of such type >> >> interfaces would be available for private implementation. >> > >> > In my ideal world you don't need inhere anything: >> > http://www174.pair.com/yamir/programming/interfaces.htm >> >> Maybe it is just a wording problem. Many dislike the word "inheritance". >> (:-)) > > Oops. Sorry. Anyway, the idea is type functionality may be extended > freely so it don't have to be specified in type declaration. If nothing specified then nothing can be checked at compile time. There are languages like SmallTalk for this, they have their place, but of little interest. Because the real challenge is: to check as much as possible, giving up as little as we can. >> >> (*) I intentionally omit type ... is tagged ..., because I believe >> >> that *all* types have to be tagged. >> > >> > Not rare opinion. But I found it somewhere contradicting with you >> > background :). Lots of types I works with has hardwired bits structure. >> >> Yes, but this does not mean that a hardwired bits cannot be "tagged". You >> can have even Booleans "tagged". The idea is to have different >> representations for Boolean and Boolean'Class. > > Fine. But what's the gain? I rarely needs any _polymorphic_ feature > for such types above "this type is distinct four-byte thing". And what is lost? You need no class-wide objects? Declare them specific! BTW, Boolean is an enumeration type, check google, and you'll find periodic discussions in c.l.a concerning "extensionable" enumeration types: type Four_State_Logical is new Boolean with (Uncertain, Contradictory); Here you are! -- Regards, Dmitry A. Kazakov www.dmitry-kazakov.de