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, MSGID_RANDY 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 Dewar Subject: Re: generic package dilemma Date: 1999/12/01 Message-ID: <821r5t$bgl$1@nnrp1.deja.com>#1/1 X-Deja-AN: 554990489 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> <81cru4$url$1@nnrp1.deja.com> X-Http-Proxy: 1.0 x29.deja.com:80 (Squid/1.1.22) for client 205.232.38.14 Organization: Deja.com - Before you buy. X-Article-Creation-Date: Wed Dec 01 00:46:55 1999 GMT X-MyDeja-Info: XMYDJUIDrobert_dewar Newsgroups: comp.lang.ada X-Http-User-Agent: Mozilla/4.04 [en] (OS/2; I) Date: 1999-12-01T00:00:00+00:00 List-Id: In article , Robert A Duff wrote: > So the ACVC isn't interesting. What's interesting is real programs with > hundreds (or more) of library packages, all trying to initialize > themselves at elaboration time in the most natural way. As you know, the GNAT static model is the default model. The GNAT approach is in practice upwards compatible with the RM, in that you can always change from this default model to the dynamic model if you want. What this means, making it the default, is that people naturally use the static model until they run into trouble. So far, with almost no exceptions (maybe none, but I hate to say none without a very careful check), the only people who have run into trouble are those porting large Ada 83 codes where in many cases the elaboration is a huge mess. In about half these cases, people have decided to clean things up so that the static model can be used, on the grounds that it is better to eliminate problems in the future. In the other half of cases, people use -gnatE and go to the dynamic model. But for new code, people seem to have no trouble with the static model, and get themselves into FAR less trouble. In fact I think the mistake in the Ada 95 design process was trying to do too much in the elaboration area, and consequently ending up doing nothing (well we have elaborate_all, but I mean nothing in terms of making the model more static). I think it would have been a good idea to bless something like the GNAT static model, which after all simply corresponds to good coding practices in the first place. The elaboration order is of course deterministic in GNAT. However we don't think any programs should depend on the knowledge of the order, so we don't document the determinisitc algorithm. Robert Dewar Ada Core Technologiesb Sent via Deja.com http://www.deja.com/ Before you buy.