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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,547e6c7b9fae4e1d X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-01-23 08:25:04 PST Newsgroups: comp.lang.ada Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.ems.psu.edu!news.cse.psu.edu!elk.ncren.net!news.umass.edu!world!news From: Robert A Duff Subject: Re: Instanciation in a package spec. User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 Sender: news@world.std.com (Mr Usenet Himself) Message-ID: Date: Thu, 23 Jan 2003 16:23:37 GMT Content-Type: text/plain; charset=us-ascii References: <8d103vca385t457d6p2e8uch8qe8p706g7@4ax.com> NNTP-Posting-Host: shell01.theworld.com Mime-Version: 1.0 Organization: The World Public Access UNIX, Brookline, MA Xref: archiver1.google.com comp.lang.ada:33379 Date: 2003-01-23T16:23:37+00:00 List-Id: Dmitry A. Kazakov writes: > >The problem here is the elaboration model of Ada. The *visibility* of > >things is too closely tied to the *elaboration* order. I have worked > >out a different model of elaboration that doesn't have this problem (but > >still retains all the advantages of the Ada model). Unfortunately, it's > >not Ada. > > Why it cannot become Ada? My model would require incompatible changes to Ada. Therefore, it would be suitable for a from-scratch language design, but it is not suitable for a modification to Ada as it stands today. > In other words, what is the price of your model? > > Can X become static (in your model), when F is pure? Well, I have ideas along those lines, but I think that's a separate issue. It depends exactly how "pure" is defined. Are you willing to tolerate pure functions with infinite loops? So the compiler will go into an infinite loop evaluating a call to F at compile time? Sounds OK to me, but it might surprise some folks. Ada currently has no pragma Pure for individual functions. Just packages. Ada currently allows machine-code inserts in pure code. Must the compiler have access to the target machine during compilation? Is it even meaningful? - Bob