Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!sundc!pitstop!sun!amdcad!ames!ll-xn!mit-eddie!husc6!cmcl2!brl-adm!brl-smoke!gwyn From: gwyn@brl-smoke.ARPA (Doug Gwyn ) Newsgroups: comp.lang.c Subject: Re: MAJOR ANSI C FLAW (my opinion, of course) Message-ID: <6593@brl-smoke.ARPA> Date: Mon, 26-Oct-87 16:05:11 EST Article-I.D.: brl-smok.6593 Posted: Mon Oct 26 16:05:11 1987 Date-Received: Wed, 28-Oct-87 22:23:48 EST References: <234@snark.UUCP> Reply-To: gwyn@brl.arpa (Doug Gwyn (VLD/VMB) ) Organization: Ballistic Research Lab (BRL), APG, MD. Lines: 29 In article <234@snark.UUCP> eric@snark.UUCP (Eric S. Raymond) writes: >I say: hear! hear! hear! Please, Greg, make this a formal proposal and submit >it to X3J11 (I'd do it, but you deserve the kudos, paeans and glory). And you >official-unofficial X3J11 people out there; if there's something fatally >wrong with the concept, let us know *now* before we start writing the PD >translator. It's not clear what good it would do to send this to X3J11. There is nothing wrong with the idea, but here are some snags you may run into in practice: No simple scheme such as taking the first four and last two character of longer identifiers will suffice, since many long identifiers will map into the same short version. Since information is being lost, in general you can also get collisions between short version of names across multiple translation units (object modules), since they're compiled entirely separately so that no single hash table can guarantee uniqueness (unless you want to maintain a system-wide single hash table for all C external identifiers ever seen). If the short names do not bear notable resemblance to the original longer names, it makes debugging even harder than it already is. I think it's easier to address this problem before coding than to try to solve it after the fact.