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,dbcfe2b0a74da57e X-Google-Attributes: gid103376,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news3.google.com!news2.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!t-online.de!tiscali!newsfeed1.ip.tiscali.net!feeder1-2.proxad.net!proxad.net!feeder2-2.proxad.net!newsfeed.arcor.de!newsspool4.arcor-online.net!news.arcor.de.POSTED!not-for-mail From: "Dmitry A. Kazakov" Subject: Re: Inherited Methods and such Newsgroups: comp.lang.ada User-Agent: 40tude_Dialog/2.0.15.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Reply-To: mailbox@dmitry-kazakov.de Organization: cbb software GmbH References: <1190039166.449906.15070@g4g2000hsf.googlegroups.com> <1190041908.492024.263110@19g2000hsx.googlegroups.com> <1190060534.958182.51800@d55g2000hsg.googlegroups.com> <87tzptuhku.fsf@ludovic-brenta.org> <1190125656.071013.303640@22g2000hsm.googlegroups.com> <1ds7l1l7oeyrx.1cpsvrpkikour.dlg@40tude.net> <1190147965.676457.123000@d55g2000hsg.googlegroups.com> <1co37tau98gct.axsglmqh0xu9$.dlg@40tude.net> <1190213376.707449.146640@g4g2000hsf.googlegroups.com> <1fl2wnziigxfd.1fjbag2hh8sbc$.dlg@40tude.net> <1190239986.762473.204290@k79g2000hse.googlegroups.com> Date: Thu, 20 Sep 2007 10:12:47 +0200 Message-ID: <1rw45b3rmvmcr$.1df4wst5oknbl$.dlg@40tude.net> NNTP-Posting-Date: 20 Sep 2007 10:07:21 CEST NNTP-Posting-Host: ee5866b8.newsspool1.arcor-online.net X-Trace: DXC=1jj\Bl]7gZK2jYf>V4L0gLic==]BZ:afN4Fo<]lROoRA4nDHegD_]REG^CYDK:ioDODNcfSJ;bb[EFCTGGVUmh?DLK[5LiR>kgB91HZNlR:B:D X-Complaints-To: usenet-abuse@arcor.de Xref: g2news2.google.com comp.lang.ada:2046 Date: 2007-09-20T10:07:21+02:00 List-Id: On Wed, 19 Sep 2007 15:13:06 -0700, Maciej Sobczak wrote: > On 19 Wrz, 17:16, "Dmitry A. Kazakov" > wrote: > > My expectations are different during the lifetime of the object. Hence > - the behavior that I expect is time-variant. Hence - the type changes > over time. End of story. If you say that an object of the type T1 can take values of the type T2, such that not T1<:T2, then either: A. The language is untyped, as you cannot name the object's type, or else B. There exists a type T3, such that T1<:T3 and T2<:T3, (with the domain set containing both the value before and the value after change). This third type of the object does not change, and the type of the object is neither T1, nor T2, but T3. >>> This is what justifies the concept of "dynamic type". >> >> No it does not. How does a dynamic type behave? > > Dynamically. Huh, let us take this and consider the predicate "dynamically". Then: forall x of T, dynamically(x) I.e. dynamically(T) is invariant. There is always a common denominator of the behavior for any per-design identified set of values associated with an object. In a typed language this and only this behavior is described by the object's type. For this reason any object has exactly one type. No more, no less. One can argue for alternative notions of type and typed language, but they likely would not be consistent with behavioral point of view, which you have already subscribed to, or? -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de