Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!cis.ohio-state.edu!lucid.com!jonl%kuwait From: jonl%kuwait@lucid.com (Jon L White) Newsgroups: comp.lang.clos Subject: CLOS Private Methods Message-ID: <9106260502.AA11848@kuwait> Date: 26 Jun 91 05:02:36 GMT References: Sender: daemon@cis.ohio-state.edu Organization: The Ohio State University Department of Computer and Information Science Lines: 34 re: The Common Lisp package system can be used for namespace partitioning (but is essentially orthogonal to CLOS). Right. The main difficulty is talking with people who are primarily familiar with the more "conventional" concepts of Object-Oriented programming as "information hiding" is that "Encapsulation" is not a fully commensurate concept. This is especially true when one views functions/methods as being "owned" by classes, because such a view is crippling to the multi-method concept (and such a view is fostered by an inordinate emphasis on univariate "message passing" to the neglect of the more general "generic functions"). Once having broken this stranglehold -- that classes are the sine qua non of encapsulation -- then it is easier to talk about the kinds of encapsulation provided by generic-functions in CLOS and by packages in Common Lisp. Along this vein, I would recommend reading a paper by Dick Gabriel, myself, and Danny Bobrow which has been accepted for publication in a special Lisp issue of CACM later this year: "CLOS: Integrating Object-Oriented and Functional Programming". Although we don't focus in on encapsulation per se, we do try to clarify the position of the generic-function concept in the Object-Oriented paradigm -- so that univariate "message passing" isn't misunderstood as the only such paradigm. 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 " -- JonL --