Path: utzoo!attcan!uunet!lll-winken!unixhub!shelby!unix!hplabs!otter.hpl.hp.com!hpltoad!cdollin!kers From: kers@hplb.hpl.hp.com (Chris Dollin) Newsgroups: comp.lang.lisp Subject: Re: Common Lisp Package System Considered Harmful Message-ID: Date: 22 Oct 90 08:06:40 GMT References: <271E0D40.451E@wilbur.coyote.trw.com> <388@shrike.AUSTIN.LOCKHEED.COM> Sender: news@hplb.hpl.hp.com (Usenet News Administrator) Organization: Hewlett-Packard Laboratories, Bristol, UK. Lines: 37 In-Reply-To: aihaug@AUSTIN.LOCKHEED.COM's message of 19 Oct 90 14:59:27 GMT Nntp-Posting-Host: cdollin.hpl.hp.com I've been following this with some interest. At least one person has remarked that "they only need one or two packages in an application". Then Daniel A Haug says: Last year, we completed a project that involved several hundred thousand lines of CLOS-intensive Lisp code. Just guessing, I'd say that we had around 1000 classes, and perhaps 2000 generic functions. We used the package system to isolate layered functionality. For example, the ... No! We would have DIED in our project without the package system. We probably had 50 packages in the end. I can't begin to imagine life Several 100K lines of source; 50 packages. When we built Axis (Axis [*1] is an equational-specification language & system, similar in intent to the OBJ family) we had about 27K lines of source (yes, just twenty-seven thousand) and 110 packages (I just counted). Are we that unusual? To us it seemed natural to build our system as a collection of implementations of abstract data-types, and make each module a package; lots of datatypes => lots of packages. We'd wouldn't have done without the package system, although (a) not having structures package names was a pain, (b) not having renamed-imports would be better, (c) packageing seems to be done in the wrong place - as part of the lexicalandsyntactic analysis, not in the compiler [*2]. [*1] See my paper in the Europal 90 proceedings for a brief description of Axis and its implementation. [*2] Or interpreter. For these purposes the difference is irrelevant. -- Regards, Kers. | "You're better off not dreaming of the things to come; Caravan: | Dreams are always ending far too soon."