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=-0.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uwm.edu!zaphod.mps.ohio-state.edu!think!ames!zodiac!saturn!xanthian From: xanthian@saturn.ADS.COM (Metafont Consultant Account) Newsgroups: comp.lang.ada Subject: Re: Tucker's new proposal Message-ID: <10230@zodiac.ADS.COM> Date: 30 Dec 89 05:22:26 GMT References: <20600028@inmet> <7518@hubcap.clemson.edu> Sender: news@zodiac.ADS.COM Organization: Advanced Decision Systems, Mt. View, CA (415) 960-7300 List-Id: In article <7518@hubcap.clemson.edu> billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu writes: >>From stt@inmet.inmet.com: >> I *can* imagine a careful definition of conditional >> compilation mechanisms which would preserve the ability to >> recompile from parse trees. This would *not* be a preprocessor >> approach, however. [...] >% >% Allow if constructs and case constructs within a sequence of >% declarations, so long as all conditional and case >% expressions are static, and each if/case "arm" contains >% only declarations (rather than statements). >% >> The nice thing about this kind of approach is that it builds on the >> existing concepts of the language (namely static expressions, >> if/case constructs, and variant records), rather than introducing >> a new/foreign syntax like "#ifdef". > > I must be getting a bit too much of the spiked eggnog myself, > because this is actually starting to sound like not too bad an > idea... can anyone think of counterarguments? > > > Bill Wolfe, wtwolfe@hubcap.clemson.edu Sure. If you implement and encourage use of a "cpp" type preprocessor, you completely demotivate the efforts to actually clean up the portability problems in the existing language standard by providing an out, and the ideal of programs that compile and execute the same on all (reasonably configuration compatible) platforms goes right down the tubes. The completely predictable result is Ada programs characterized by the nest of twisty #ifdef's, all different, that make maintenance of any substantial C program such a heartache. Not A Good Thing(tm). ;-) Again, my opinion, not the account furnisher's. xanthian@well.sf.ca.us Kent, the (bionic) man from xanth, now available as a build-a-xanthian kit at better toy stores.