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.3 required=5.0 tests=BAYES_00,LOTS_OF_MONEY, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,582dff0b3f065a52 X-Google-Attributes: gid109fba,public X-Google-Thread: 103376,bc1361a952ec75ca X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-08-29 09:00:33 PST Path: archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!sn-xit-01!supernews.com!newshub2.rdc1.sfba.home.com!news.home.com!news1.rdc1.bc.home.com.POSTED!not-for-mail From: kaz@ashi.footprints.net (Kaz Kylheku) Newsgroups: comp.lang.ada,comp.lang.c++ Subject: Re: How Ada could have prevented the Red Code distributed denial of service attack. References: <3b690498.1111845720@news.worldonline.nl> <9kbu15$9bj@augusta.math.psu.edu> <9kbvsr$a02@augusta.math.psu.edu> <3B69DB35.4412459E@home.com> <9kp9n7$ivm$1@nh.pace.co.uk> <3B73337F.862F8D93@home.com> <9lb7hu$72h$1@norfair.nerim.net> <3B7C6977.3648F061@home.com> <3B7C79FA.89E62321@globetrotter.qc.ca> <3B7C9288.6CD8C288@home.com> <3B7D2033.1C780DF5@home.com> <3B7DFA37.70534817@home.com> Organization: Psycho-Neurotic Institute for the Very, Very Nervous Reply-To: kaz@ashi.footprints.net User-Agent: slrn/0.9.6.3 (Linux) Message-ID: Date: Wed, 29 Aug 2001 16:00:33 GMT NNTP-Posting-Host: 24.68.85.82 X-Complaints-To: abuse@home.net X-Trace: news1.rdc1.bc.home.com 999100833 24.68.85.82 (Wed, 29 Aug 2001 09:00:33 PDT) NNTP-Posting-Date: Wed, 29 Aug 2001 09:00:33 PDT Xref: archiver1.google.com comp.lang.ada:12557 comp.lang.c++:86460 Date: 2001-08-29T16:00:33+00:00 List-Id: In article , David Thompson wrote: >Kaz Kylheku wrote : >[ in YA debate about "core language" vs "library " ] >... >> Then you are saying that whenever some feature of a language can >> be implemented in terms of other features, that feature is not >> part of the language. Is this an accurate account ...? >> Also, according to the proposition, the while loop must not be part >> of the C++ language, because it can be defined as: >> >> #define while (X) for (;(X);) >> >Not with a space between the macroname and paramlist. Sorry about that! Typing a space after the while keyword is a stylistic habit that is hard to break. >And even fixing that a strictly-conforming program can tell >it's #define'd, and it doesn't work if the while condition uses >the comma operator (misparsed as a punctuator). These are all nitpicks. Sure you can tell, but the point is that if C had for loops but not while loops, you could construct them like this, and it would be quite effective. This observation was intended to support my argument against the view that any language feature which can be effectively constructed from the remaining subset of a language is not part of that language. In some languages, macros are a lot cleaner; they can much more ``seamlessly'' implement new language features. Any system of reasoning about languages should generalize to these languages.