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=unavailable autolearn_force=no version=3.4.4 Path: backlog2.nntp.dca.giganews.com!border4.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!feeder.erje.net!eu.feeder.erje.net!newsfeed.fsmpi.rwth-aachen.de!reality.xs3.de!news.jacob-sparre.dk!loke.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: 'Protected' abstract subprograms Date: Fri, 17 Jan 2014 17:23:55 -0600 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: <839fee13-2743-49f6-a7f3-f95578386201@googlegroups.com> <1aav8alqsnqqv.5urmifgwh1mv.dlg@40tude.net> NNTP-Posting-Host: static-69-95-181-76.mad.choiceone.net X-Trace: loke.gir.dk 1390001035 13142 69.95.181.76 (17 Jan 2014 23:23:55 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Fri, 17 Jan 2014 23:23:55 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 Xref: number.nntp.dca.giganews.com comp.lang.ada:184456 Date: 2014-01-17T17:23:55-06:00 List-Id: "Robert A Duff" wrote in message news:wccvbxje5sn.fsf@shell01.TheWorld.com... ... > The freezing rules make my brain hurt. Even though I had a hand in > writing them! ;-) > > A better-designed language would not have anything like freezing rules. That's a facinating assertion from the guy that's responsible for most the AARM notes describing the freezing rules. Especially as you guys pretty much redesigned that area in Ada 95 -- you essentially created a whole new language design for it. It makes me wonder how a language could be better designed and not "have anything like freezing rules". After all, a compiler has to have a known representation for types and objects at some point, certainly before code generation. If one is going to support some sort of separate compilation (especially *safe* separate compilation), freezing rules or something like them seems manditory. [There is an argument to be made that a truly modern language doesn't need to support separate compilation at the language level, given that it is now practical to delay compilation until bind time. But that seems awfully radical and would seem to put an upper limit on the sizes of programs that could be written in the language. I don't think that's what you meant.] Ada's freezing rules are far more detailed than absolutely necessary, but the obvious way to get simplify them would be to require that all types are declared before all objects (a-la Pascal) -- and we have evidence that's too inflexible. There don't seem to be any obvious way to simplify them if objects can be declared anywhere. So I have to wonder what sort of "well-designed language" you have in mind. Randy.