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-24 07:43:00 PST Path: archiver1.google.com!news2.google.com!newsfeed2.dallas1.level3.net!news.level3.com!crtntx1-snh1.gtei.net!news.gtei.net!newsfeed1.easynews.com!easynews.com!easynews!elnk-pas-nf1!newsfeed.earthlink.net!stamper.news.pas.earthlink.net!stamper.news.atl.earthlink.net!newsread3.news.atl.earthlink.net.POSTED!d9c68f36!not-for-mail Message-ID: <4012927F.60401@noplace.com> From: Marin David Condic User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 (OEM-HPQ-PRS1C03) X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Standard Ada Preprocessor (Was: why ada is so unpopular ?) 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> <401264ED.306@noplace.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Date: Sat, 24 Jan 2004 15:43:00 GMT NNTP-Posting-Host: 209.165.25.157 X-Complaints-To: abuse@earthlink.net X-Trace: newsread3.news.atl.earthlink.net 1074958980 209.165.25.157 (Sat, 24 Jan 2004 07:43:00 PST) NNTP-Posting-Date: Sat, 24 Jan 2004 07:43:00 PST Organization: EarthLink Inc. -- http://www.EarthLink.net Xref: archiver1.google.com comp.lang.ada:4775 Date: 2004-01-24T15:43:00+00:00 List-Id: Yeah. Isolating them down at some low level is fine. But that still leaves you with the problem of "How do I code up the stuff at the low level?" You're either controlling it with some kind of build scripts & CM or you do it with something inside the language. Given that it needs to be done & I can't keep pushing it off with indirection forever, I'd like a language mechanism for doing it. Maybe conditional compilation is not the answer. But then let's come up with something else. Sooner or later, I've got to have a way of maintaining code that works in one place but not in another and relying on external mechanisms is often difficult or impossible. (Handing source code off to unknown destinations is a good example - you may not know who or what is at the other end and may not be able to trust that they have mechanisms or competence to manage multiple builds. Source code I can trust because I can verify that it works as intended. Mechanisms outside that are uncertain.) MDC Robert I. Eachus wrote: > > Now I see why you worry about about illegal code and I don't. As far as > I am concerned, ANYTHING I can do to minimize differences between > versions is worth the effort. That certainly includes building > wrappers. So in the Ada 83 days when different compilers had different > names for the trancendental math packages, I had MY standard. (Usually > kept updated based on the latest NUMWG work, but that is a detail.) > Similarly, I had my package that did command line arguments, with > different bodies for Alsys and Verdix, etc. So I kept a collection of > 'standard' packages needed for portability. If I needed to deal with > say, a bug in Solaris, I did it there. > > The net result was one directory of implementation dependent packages, > with multiple implementations, and applications that were completely > implementation independent. I kept the package specifications for the > implementation dependent stuff identical, if necessary by making the > bindings thicker than might otherwise be needed. The only case where I > can ever remember a problem, Rational called me about one of my ADAR > packages that didn't compile due to an Unchecked_Conversion. > > Rational didn't allow Unchecked_Conversions of access types. In > addition to telling them a work around, I suggested that they treat this > case as as a compiler bug. It involved an Unchecked_Conversion of an > object of an access type to the same access type. (Why did I do it? It > allowed me to put a with clause on a body instead of on the package > specification.) > -- ====================================================================== Marin David Condic I work for: http://www.belcan.com/ My project is: http://www.jsf.mil/NSFrames.htm Send Replies To: m o d c @ a m o g c n i c . r "Face it ladies, its not the dress that makes you look fat. Its the FAT that makes you look fat." -- Al Bundy ======================================================================