Newsgroups: comp.lang.clos Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!iexist.ATt.COM!lgm From: lgm@iexist.ATt.COM (Lawrence G. Mayka) Subject: CLOS Private Methods Message-ID: <19910626135311.1.LGM@iexist> Sender: daemon@cis.ohio-state.edu Organization: The Ohio State University Department of Computer and Information Science References: <9106260502.AA11848@kuwait> Date: Wed, 26 Jun 1991 03:53:00 GMT Lines: 30 Date: Wed, 26 Jun 1991 00:02 CDT From: Jon L White But as you say, common practice amongst Common Lisp programmers is to use packages sparingly -- perhaps too sparingly. I believe this is due to the "Fear of Packages", and long have wanted to write an expose on the use of the CL package facility; something with a title like, say, "Packages Unwrapped". As ever, the "Fear of " stems not only from an "Ignorance of " but also an "Ignorance of One's Ignorance of " One potential difficulty in managing multiple packages is the lack of language and environment support for dynamic modification of string/symbol/package relationships. Given the read-time significance of these relationships, such rigidity is understandable; nevertheless, it implies potentially massive recompilation when such a change is necessary. For example, let's say I compiled my system in package MY-PKG without remembering to import symbol OTHER-PKG:SYM first. All references to SYM in my system are now incorrect. Some environments can offer to have MY-PKG:SYM and OTHER-PKG:SYM share the same value "cell," but even this does not correct all tests for EQ and the like. What would really be needed here is a tool that replaces all references to MY-PKG:SYM with OTHER-PKG:SYM *in the compiled code.* But I do not know of any Common Lisp environment that offers such a tool. Lawrence G. Mayka AT&T Bell Laboratories lgm@iexist.att.com Standard disclaimer.