Path: utzoo!attcan!uunet!mcsun!ukc!edcastle!aiai!jeff From: jeff@aiai.ed.ac.uk (Jeff Dalton) Newsgroups: comp.lang.lisp Subject: Re: Common Lisp Package System Considered Harmful Keywords: Packages, CLOS, Object-Oriented Programming, Common Lisp Message-ID: <3596@skye.ed.ac.uk> Date: 22 Oct 90 17:51:16 GMT References: <271E0D40.451E@wilbur.coyote.trw.com> Reply-To: jeff@aiai.UUCP (Jeff Dalton) Organization: AIAI, University of Edinburgh, Scotland Lines: 63 In article <271E0D40.451E@wilbur.coyote.trw.com> scott@wiley.UUCP (Scott Simpson) writes: > I don't >know what packages were designed for. I have been told that they are >to be used for separating large subsystems of code. The point I have >been trying to make is that the information hiding granularity of >packages is way too coarse and no other mechanism in Lisp can give me >the granularity I want (i.e., class based) easily. That's right: Common Lisp doesn't have such a mechanism. So what are we supposed to do now? (BTW, you could write a mechanism, but anyone who knew how it worked could probably get around it with some effort. Would that be good enough or do you want more?) >I don't find packages very useful and I wouldn't cry a tear if they >were simply removed from the language. So don't use them. I don't quite understand what you're trying to accomplish. Are you hoping Common Lisp will change, that the Common Lisp designers will be embarrassed at their incompetence, that Common Lisp will tossed in the trash, or what? >>One point is that, in Lisp, nothing is REALLY hidden >Yes. I hate this. Different people hate different things. That's why the world contains more than one programming language, and, indeed, more than one Lisp. >>On the one hand, I think that packages are (very) useful at a coarse >>grain: for example at the application level. I've never written an >>application with more than 2 packages and even those were cases where >>the one might be used as a separate set of tools. [I do often write > >If you hardly ever use packages, why do you find them so useful? He didn't say he hardly ever used them, but rather that he never wrote an application that involved more than two. >>You just dont call the internals by virtue of your strength of >>will and extraordinary discipline! > >Exactly. Strength of will and extraordinary discipline. You hit the >nail on the head. This is *exactly* what I am trying to avoid. >Besides, if we didn't cherish information hiding, language protection >and ease of uses why don't we all go back to programming in assembly >language? They all are Turing machine equivalent anyway. Right? Turing-equivalence is almost useless as a way to compare programming languages. Information-hiding is just one of the things higher-level languages can do, and not necesarily the most important. If it's the most important to you, or for the work you're doing, then don't use Common Lisp. It's as simple as that, isn't it? >Lisp isn't into firewalls. This is my complaint. I would have thought a shorter message would have sufficed for that. -- JD