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@gmail.com wrote:
On Sun, Aug 26, 2018 at 10:47 PM Daniel Pezely daniel@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/