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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,28b389d4503cb555 X-Google-Attributes: gid103376,public From: Robert A Duff Subject: Re: generic package dilemma Date: 1999/11/22 Message-ID: #1/1 X-Deja-AN: 551718244 Sender: bobduff@world.std.com (Robert A Duff) References: <80u48b$ghr$1@bunyip.cc.uq.edu.au> <3832e27f_1@news1.prserv.net> <3832E75D.5B1BA719@mail.com> <383319e8_4@news1.prserv.net> <3833F615.5AD7166C@mail.com> <383442e1_1@news1.prserv.net> <383510EA.9DFEE8B6@mail.com> <383569db_2@news1.prserv.net> <3835CF7A.5604C6A3@mail.com> <81bt4v$7cr$1@nnrp1.deja.com> <383982E4.110F0F2D@mail.com> Organization: The World Public Access UNIX, Brookline, MA Newsgroups: comp.lang.ada Date: 1999-11-22T00:00:00+00:00 List-Id: Mats Weber writes: > BTW, I don't think I was just lucky: the elaboration order control was > supposed to be automatic in Ada 80, which of course is not feasible. I think it *is* feasible. In fact, the latest GNAT does determine an order automatically -- and if it can't, it complains at link time. This is just like any other compile-time or link-time rule -- the halting problem tells us we have to make the rules somewhat conservative compared to corresonding run-time rules -- but that *is* feasible in many cases. I certainly don't believe the designers of Ada 83 (in 1980) thought it's possible for compiler to solve the halting problem. I think they just wrote the rule in a slightly sloppy way. They could have rewritten it to say what they always meant, but instead they chose to go with run-time checking -- I presume because that makes things simpler by avoiding a link-time analysis of the entire program's call graph. - Bob