Common Lisp style: multiple packages in same repo

Scott McKay swmckay at gmail.com
Mon Aug 27 13:54:47 UTC 2018


Woo hoo, "not abhorrent"! ;-)

I don't know precisely what McCLIM did because I had been CLIM'ing for ages
and could not bring myself to do it again.

Here was my thinking:
 - Two packages per library
   - The first is the API package; it exports the names that all ordinary
users will use.
   - The second is the internal API packages. It exports the names that
people who will
     *extend* the library will use, and can also serve as an implementation
package. It
     :USEs the first package.
 - One library per "big orthogonal thing" – whatever that is.

In hindsight, I would have had fewer CLIM libraries, probably just a
utilities/geometry one,
a windows one, and an output recording/presentation/application/commands
one.








On Mon, Aug 27, 2018 at 9:27 AM, Ken Tilton <kentilton at gmail.com> wrote:

>
>
> On Sun, Aug 26, 2018 at 10:47 PM Daniel Pezely <daniel at pezely.com> wrote:
>
>> On 2018-08-25 04:53 PM, Ken Tilton wrote:
>>
>> Packages are massively overrated. This is not Java where every frickin
>> source file is a namespace. There is a certain obsessive compulsiveness
>> about packages that does nothing but slow developers down. Well, right,
>> they are a palliative for the OCD disease. But it *is* a disease, so that
>> does not count.
>>
>> What part of agile do we not understand? Fences, boxes, categories, types
>> all invented for their own sake let us bask in our taxonomicity while
>> getting no code written, and god help the sucker who tries to use our OCD
>> mess forever battling package issues.
>>
>> Stop. Wrong way. Go back.
>>
>>
>>
>> Ken,
>>
>> How might we use this criticism constructively?
>>
>
> Use one package per library. If you want to document your library,
> document the public bits.
>
> btw, I did not find the McCLIM idea of a second package for internals
> abhorrent.
>
> And the day I let a disaster like ASDF dictate my coding is the day I sign
> up for bartender school.
>
> We had an 80kloc CL app that was well divided into packages and it was an
> endless source of pain. It took a week but I flattened everything into one
> package and we had one bug related to symbol confusion. But then we used
> the old 2-3-character prefixing scheme for readabilty and disambiguation.
>
> -kt
> --
> Kenneth Tilton
> http://tiltontec.com/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/pro/attachments/20180827/27b7e2c2/attachment.html>


More information about the pro mailing list