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,38159b1b5557a2e7 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2004-01-28 01:02:45 PST Path: archiver1.google.com!news1.google.com!news2.google.com!fu-berlin.de!uni-berlin.de!tar-atanamir.cbb-automation.DE!not-for-mail From: Dmitry A. Kazakov Newsgroups: comp.lang.ada Subject: Re: Standard Ada Preprocessor Date: Wed, 28 Jan 2004 10:10:30 +0100 Message-ID: <9due1094ls9t840tqfv7ir6etcieg777u6@4ax.com> References: <_JSdna166JuxFo3dRVn-hg@comcast.com> <401115B7.5020205@noplace.com> <101djamfnrb185a@corp.supernews.com> NNTP-Posting-Host: tar-atanamir.cbb-automation.de (212.79.194.116) Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: news.uni-berlin.de 1075280564 26411210 212.79.194.116 ([77047]) X-Newsreader: Forte Agent 1.8/32.548 Xref: archiver1.google.com comp.lang.ada:4980 Date: 2004-01-28T10:10:30+01:00 List-Id: On Tue, 27 Jan 2004 16:41:50 -0500, "Warren W. Gay VE3WWG" wrote: >Randy Brukardt wrote: >> "Warren W. Gay VE3WWG" wrote in message >> news:ZwxRb.49242$Kg6.360396@news20.bellglobal.com... >> .... >>>I hate this. Conditional compilation would be a better >>>solution for the developer because it is less error prone, >>>and it is more natural. >> >> I couldn't disagree. Now, try to figure out a natural way to express such >> conditional compilation in Ada. I can't (and I've tried to solve this >> problem for 20 years.) If you don't have a non-ugly way to solve the >> problem, the chances of anything being done about it are zero. > >I agree that an elegant solution should always be sought. >Especially if you are looking at the far reaching consequences >of "language changes". But if this problem has existed for >20 years and no solution has come to light, then maybe it >is time to consider a less elegant solution? Conditional compilation is not less elegant it is disastrous. Ada design is based on contracts. A conditional compilation contradicts to this very principle. What kind of contract has Foo? #if ... procedure Foo (X : in out Integer); #else type Foo is record X : String; end record; #end if IMO the solution is abstract packages. -- Regards, Dmitry A. Kazakov www.dmitry-kazakov.de