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: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail From: Paul Rubin Newsgroups: comp.lang.ada Subject: Re: How to get Ada to ?cross the chasm?? Date: Fri, 11 May 2018 02:09:33 -0700 Organization: A noiseless patient Spider Message-ID: <87y3gq36eq.fsf@nightsong.com> References: <87h8no1nli.fsf@nightsong.com> <874ljo1hvy.fsf@nightsong.com> <87vac4z2lh.fsf@nightsong.com> <87lgcszjdn.fsf@nightsong.com> <87sh6z1kkg.fsf@nightsong.com> <87k1sb1dt3.fsf@nightsong.com> <87d0y3ys2g.fsf@nightsong.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: reader02.eternal-september.org; posting-host="4776ca6b408eab45c2cc0c9a5f8c8c74"; logging-data="9873"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19gPkmSKoBIc6d4ew9vq0hA" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) Cancel-Lock: sha1:AxzA8H1rSl3/p+CSD3FKKE3Oumo= sha1:Iet2d+VqnuL48hEDS2t2BneXgeo= Xref: reader02.eternal-september.org comp.lang.ada:52256 Date: 2018-05-11T02:09:33-07:00 List-Id: Niklas Holsti writes: > Ada has always allowed separate compilation. In the early days of Ada > 83 compilation could be so slow that rebuilding a whole, large program > could take a week. Separate compilation was essential. Some Ada > environments (Rational) almost insisted on separate compilation of > each subprogram, let alone each package. A week?! Ouch! Was that the NYU compiler written in SETL? Anyway here's another version of that story: https://www.dwheeler.com/essays/make-it-simple-dewar.html This was also interesting: https://www2.adacore.com/gap-static/GNAT_Book/html/node5.htm#SECTION03130000000000000000 But, you unquestionably understand the issue better than I do. What I don't understand is, why didn't the same issue apply to Pascal? Didn't it also need whole-program typechecking? And I wonder what ML does? Haskell (GHC) does write out something like interface files (.hi) generated from the source files, and linking uses them. > the withed declarations are (re-)compiled on the fly when the withing > unit is compiled. The penalty for such recompilation is smaller today, > with faster machines and compilers. It's just the .ads that's included, right? Was the speed that bad an issue even on the old machines? Is Ada really harder to compile than Pascal? I've always liked this article even though I never used Turbo Pascal: http://prog21.dadgum.com/116.html > It's interesting and somehow paradoxical that many C/C++ programming > systems implement "precompiled headers" Of course the way C and C++ use headers is horrendous but it's historical baggage.