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 <jonl%kuwait@lucid.com>

    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 <x>" stems not only from an "Ignorance 
    of <x>" but also an "Ignorance of One's Ignorance of <x>"

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.
