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-Thread: 103376,c406e0c4a6eb74ed X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news2.google.com!newsfeed2.dallas1.level3.net!news.level3.com!newsfeed.mathworks.com!nntp.abs.net!rcn!feed3.news.rcn.net!not-for-mail Sender: jsa@rigel.goldenthreadtech.com Newsgroups: comp.lang.ada Subject: Re: ADA Popularity Discussion Request References: <49dc98cf.0408110556.18ae7df@posting.google.com> <6F2Yc.848$8d1.621@newsread2.news.pas.earthlink.net> <413e2fbd$0$30586$626a14ce@news.free.fr> <9snhizowcwg9.16smaxkxhyu67$.dlg@40tude.net> <1m4nnmjq31u5p.1ufrf06w53qsz.dlg@40tude.net> <7aytmncfkoep.1rju9m4v4xl21.dlg@40tude.net> From: jayessay Organization: Tangible Date: 09 Sep 2004 21:16:24 -0400 Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: DXC=_R[Q]EnZaj_BSY?2J= "Dmitry A. Kazakov" writes: > On 08 Sep 2004 19:23:40 -0400, jayessay wrote: > > > "Dmitry A. Kazakov" writes: > > > >> On 08 Sep 2004 12:26:54 -0400, jayessay wrote: > >> > >>> "Dmitry A. Kazakov" writes: > >>> > >>>> The philosophy behind is that types are random artifacts of the > >>>> program, > >>> > >>> No, this is also incorrect. The real difference is that with dynamic > >>> typing _values_ have types _not_ variables. Since _variables_ don't > >>> even exist at runtime, your type information is largely gone at > >>> runtime in static systems. > >> > >> I suppose you are talking about polymorphic objects. > > > > No, I'm not. Simply put variable don't exist at runtime. I'm talking > > about every value having its type with it. > > But that's exactly what a [dynamically] polymorphic object is. No, this is just wrong. > >> 2. That all polymorphic values should be considered of same type ANY? This > >> is also wrong. > > > > No, this is irrelevant. > > Really? Yes, really. > >> As Unchecked_Conversion does. > > > > I guess i've forgotten this (never really used it much). So, when > > 13.9(5) says an instance of this returns a value whose "representation > > is the same as that of the source, > > ARM then continues to the list of conditions to be satisfied to make the > above true. > > In other cases the result might be quite different. For example when you > convert between a general access and pool specific access types. Former are > probably fat pointers, latter could be tiny integers, depending on the > compiler, of course. > > > how is that functionally different from a cast? > > It is a cast. You're contradicting your own explanation. By your own comments above it is (at least sometimes) _not_ a cast. > How so? Types do exist at run-time. Consider it as if the *unused* type > information were optimized out. No they do not. If they did you could create them, query them, change them, assign them to variables, etc. Now, you and I both know you can't do any of this with Ada types at runtime. > > It's _not_ prevented - it isn't _required_ to! > > That's silly. Why not to require to check what could be checked? Because it breaks many things in dynamic systems, that's why. Sorry, but it is your comment that is "silly", not the dynamic type system. > > If you think I'm arguing that, you really haven't understood. I'm not > > saying checking them "earlier" is somehow bad, I'm saying it is > > largely irrelevant in practice with dynamic typing because any type > > inconsistency is caught during development anyway! > > "Any type inconsistency caught anyway" is either too strong to be true or > else it just means that there are no interesting types to check for > consistency. You are just plain wrong, but if you have some vested interest in believing that, fine. /Jon -- 'j' - a n t h o n y at romeo/charley/november com