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,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,a1ce307c10055549 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-12-12 08:44:18 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newshosting.com!news-xfer1.atl.newshosting.com!uunet!dca.uu.net!ash.uu.net!spool0901.news.uu.net!spool0900.news.uu.net!reader0901.news.uu.net!not-for-mail Date: Thu, 12 Dec 2002 11:44:14 -0500 From: Hyman Rosen User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.3a) Gecko/20021203 X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: IBM Acquires Rational Ada References: <3DF1615C.7AAAC86E@adaworks.com> <3DF1B042.6603DDDE@easystreet.com> <3DF2A483.EC512CDF@adaworks.com> <8db3d6c8.0212091445.12594821@posting.google.com> <3DF628C4.7090607@cogeco.ca> <3DF6653D.3030603@cogeco.ca> <8db3d6c8.0212101850.51506572@posting.google.com> <1039618741.173427@master.nyc.kbcfp.com> <8db3d6c8.0212111251.1ecca62e@po In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Organization: KBC Financial Products Message-ID: <1039711454.196031@master.nyc.kbcfp.com> Cache-Post-Path: master.nyc.kbcfp.com!unknown@nightcrawler.nyc.kbcfp.com X-Cache: nntpcache 3.0.1 (see http://www.nntpcache.org/) NNTP-Posting-Host: 204.253.250.10 X-Trace: 1039711456 reader1.ash.ops.us.uu.net 13783 204.253.250.10 Xref: archiver1.google.com comp.lang.ada:31745 Date: 2002-12-12T11:44:14-05:00 List-Id: Robert A Duff wrote: > Heh? In what problem domain is it beneficial to have *implicit* type > conversions that lose information? It's not particularly beneficial, and if the language was being designed today, those implicit conversions would most likely not be included. But C had them, now a very long time ago, and C++ had to follow suit because C compatibility was an important goal. I'm sure the original argument was for conciseness of expression, something along these lines - void utoa(unsigned u, char *a) { char buf[30], *p = buf; do *p++ = u % 10 + '0'; while (u /= 10); do *a++ = *--p; while (p > buf); *a = 0; } There are various expressions mixing integers and characters, and assignments of integers to characters.