Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!samsung!uunet!lotus!lotus.com!robertk From: robertk@lotatg.lotus.com (Robert Krajewski) Newsgroups: comp.std.c++ Subject: Re: "module" facility for top-level namespace control Message-ID: Date: 23 Apr 91 21:39:27 GMT References: <1991Apr19.163253.22253@kestrel.edu> <1991Apr19.183922.1982@kodak.kodak.com> <5143@lupine.NCD.COM> Sender: news@lotus.com Distribution: comp.std.c++ Organization: /homes/robertk/.organization Lines: 21 In-Reply-To: rfg@NCD.COM's message of 20 Apr 91 07:48:20 GMT In article <5143@lupine.NCD.COM> rfg@NCD.COM (Ron Guilmette) writes: Recently, I proposed the introduction of a Pascal style `with' statement. Thinking more about it, I now realize that it would probably be better to have something more like an Ada `use' statement to solve this problem. An Ada `use' statement looks just like `use ;' (where is just an identifier for some module). ... If you `use' two or more modules within the same scope, and if those modules contain identically named declarations for different things, then in order to refer (unambigously) to any of the things with the (conflicting) name, you must use the full and explicit qualification. The Common Lisp package system has a similar scheme; in fact, there is a function called USE-PACKAGE which does (effectively) what ADA use does, except that the CL package system is really something that works at READ (parse) time on symbols, not at compile time on semantic units. I'm not sure if ``overloading'' class is a good way to introduce such a feature; adding new keywords would be justified in this case.