Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site opus.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxl!houxm!houxz!vax135!cornell!uw-beaver!tektronix!hplabs!hao!cires!nbires!opus!rcd From: rcd@opus.UUCP Newsgroups: net.lang.c Subject: Re: Reserving identifiers for future use. Message-ID: <628@opus.UUCP> Date: Fri, 27-Jul-84 00:54:24 EDT Article-I.D.: opus.628 Posted: Fri Jul 27 00:54:24 1984 Date-Received: Mon, 23-Jul-84 01:34:09 EDT References: <3822@fortune.UUCP> <8380@watmath.UUCP> Organization: NBI, Boulder Lines: 20 From earlier postings - granted, underscores don't solve the problem. They allow only one distinction, which is to say they divide the universe of identifiers into two classes, and that's not enough. I think a better solution to the problem lies along the lines of grouping identifiers into (named) scopes. Simula has this in a sense in the rules for classes. More recently, Modula provides mechanisms which allow/require explicit declarations to get identifiers into a particular piece of code, either without qualification or only when a specific qualifier is given. (I'm intentionally being fuzzy; I don't want to discuss the whole business here. The general idea is sufficient.) To show how this might work: If you know that the identifiers which are supplied by the compiler are part of a particular set of names, you explicitly state that those names are to be made accessible when you need them in a module. This doesn't completely solve the problem (since there are still possibilities for overlap in the name space of the containers of identifiers), but it goes a long way. -- Dick Dunn {hao,ucbvax,allegra}!nbires!rcd (303)444-5710 x3086 ...A friend of the devil is a friend of mine.