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-26 11:14:02 PST Path: archiver1.google.com!news2.google.com!news.maxwell.syr.edu!c03.atl99!sjc70.webusenet.com!news.webusenet.com!pd7cy2so!pd7cy1no!shaw.ca!elnk-pas-nf1!newsfeed.earthlink.net!stamper.news.pas.earthlink.net!newsread2.news.pas.earthlink.net.POSTED!a6202946!not-for-mail From: Jeffrey Carter Organization: jrcarter commercial-at acm [period | full stop] org User-Agent: Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.4) Gecko/20030624 X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Standard Ada Preprocessor References: <49cbf610.0401170627.79c3dfe5@posting.google.com> <400A9B48.3060100@noplace.com> <400BD4B5.6000307@noplace.com> <400BDB7C.40100@noplace.com> <400D2150.6000705@noplace.com> <400E72F9.8060501@noplace.com> <100upo7ln5e3k59@corp.supernews.com> <400FC8E8.2040100@noplace.com> <_JSdna166JuxFo3dRVn-hg@comcast.com> <401115B7.5020205@noplace.com> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: Date: Mon, 26 Jan 2004 19:14:01 GMT NNTP-Posting-Host: 63.184.16.9 X-Complaints-To: abuse@earthlink.net X-Trace: newsread2.news.pas.earthlink.net 1075144441 63.184.16.9 (Mon, 26 Jan 2004 11:14:01 PST) NNTP-Posting-Date: Mon, 26 Jan 2004 11:14:01 PST Xref: archiver1.google.com comp.lang.ada:4829 Date: 2004-01-26T19:14:01+00:00 List-Id: Warren W. Gay VE3WWG wrote: > Matrix 10 POSIX environments x 10 versions of the same, x 4 > different versions of a curses library. That leaves you with > 400 different custom (possibly groups of) packages to work > with. Real slick indeed. :( One standard POSIX-Ada binding and one application-specific screen control package leaves me with 4 different package bodies to deal with, each of which contains code specific to one curses library. The code for a specific curses library is in one place, so I don't have to hunt all over the code for the bits that deal with that library when I have to change something. If you want to handle those package bodies as one big file that you preprocess to get the desired version for a platform, go ahead. The payoff was in creating the application-specific package. The point should always be "what does the application require?", not "what does the platform/environment provide?" Once you've done that you can always hide the differences behind an application-specific interface. >> So I don't believe in preprocessors for Ada code. > > Think "conditional compilation". I see the "how" as an > implementation detail, that need _not_ track the C/C++ > experience. This thread is about a standard preprocessor (see the subject). But as someone who has done this kind of thing without a preprocessor and prefer the results, I'm convinced that what's needed is a portable way to tell the compiler to use the package body from the Win32 directory, or from the UNIX directory, or from the VMS directory. -- Jeff Carter "I'm a lumberjack and I'm OK." Monty Python's Flying Circus 54