Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!hellgate.utah.edu!cdr.utah.edu!moore From: moore%cdr.utah.edu@cs.utah.edu (Tim Moore) Newsgroups: comp.lang.lisp Subject: Re: Common Lisp Package System Considered Harmful Keywords: Packages, CLOS, Object-Oriented Programming, Common Lisp Message-ID: <1990Oct18.152453.7100@hellgate.utah.edu> Date: 18 Oct 90 21:24:53 GMT References: <271CDC30.1E54@wilbur.coyote.trw.com> <2865200060@ARTEMIS.cam.nist.gov> ?<271BA6D1.5B83@wilbur.coyote.trw.com>> <271E0D40.451E@wilbur.coyote.trw.com> Organization: University of Utah CS Dept Lines: 78 In article <271E0D40.451E@wilbur.coyote.trw.com> scott@wiley.UUCP (Scott Simpson) writes: >In article <2865200060@ARTEMIS.cam.nist.gov> miller@cam.nist.gov writes: > >>One point is that, in Lisp, nothing is REALLY hidden -- some things are >>just a little less visible than others. Want a non-exported symbol from >>a package? Use two colons. Want to get at an unapproved slot from a >>clos instance? Just use slot-value. > >Yes. I hate this. The double colon is way too similar to the single >colon. I can concede that for efficiency reasons or some such it is >non unreasonable to have back doors that can break the abstraction >barrier. C++ does this with its ugly friend functions. However, I do >think that they should be discouraged and if used, should be quite >noticeable. It is said that they put gotos in Ada (especially for >automatically generated Ada programs) but that they discourage their >use and make them stick out like a sore thumb. Ada's labels look like ><