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-Thread: 103376,182c0df39337eeca X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news2.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!t-online.de!newsfeed.freenet.de!news.albasani.net!news.ecp.fr!news.jacob-sparre.dk!pnx.dk!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Wide Character Problem in Ada.Numerics Date: Fri, 27 Apr 2007 14:04:07 -0500 Organization: Jacob's private Usenet server Message-ID: References: <1177363740.965003.247270@l77g2000hsb.googlegroups.com> <462daae8$1@news.post.ch> <1177432510.964311.114370@r3g2000prh.googlegroups.com> <1177609437.376996.161050@n35g2000prd.googlegroups.com> <1177688477.802262.165950@t39g2000prd.googlegroups.com> NNTP-Posting-Host: static-69-95-181-76.mad.choiceone.net X-Trace: jacob-sparre.dk 1177700537 5330 69.95.181.76 (27 Apr 2007 19:02:17 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Fri, 27 Apr 2007 19:02:17 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1807 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1807 Xref: g2news1.google.com comp.lang.ada:15362 Date: 2007-04-27T14:04:07-05:00 List-Id: "Ray Blaak" wrote in message news:uwszx93ce.fsf@STRIPCAPStelus.net... ... > If I recall correctly, GNAT uses a source based model for its package library, > in that the "library interface" files for package specs are simply the sources > themselves. > > This means that package specs are always loaded/compiled on the fly whenever > they are WITH'd. > > This turns out to have all sorts of advantages and simplifications. I don't > know if GNAT is still doing this. I wouldn't call it "advantages". It's more like trade-offs. Recompiling in this way means you don't need to invent a compiled symboltable form. But it does lose a lot of control over how the specs are compiled. This character encoding issue is one of many similar issues: you lose control over how the spec is compiled. If you want the spec to be compiled differently than the units that use it, that becomes hard. Another disadvantage is that you end up with two compilation modes for a spec, one that generates elaboration code and one that does not. That's clearly going to complicate things. I don't think the choice has much impact on compiler performance: on most programs, GNAT and Janus/Ada compile at similar speeds. (There might have been a difference visible years ago when computers were much slower, but it surely isn't evident now, even on my relatively slow work machine.) So it's just a trade-off, one of the many choices that you have to make when designing a compiler. This is one area where I see no real issue with the choice that we made in Janus/Ada - there are lots of things where an alternative approach is appealing, but this isn't one of them. Randy.