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.

On Tue, Aug 21, 2018 at 6:36 PM, Daniel Pezely <daniel@pezely.com> wrote:

I posted this to Stack Overflow but was hoping for more input.

https://stackoverflow.com/questions/51638864/common-lisp-style-multiple-packages-in-same-repo


May I get recommendations or links to representative code repositories with good style for multiple related Common Lisp packages, please?

For instance, consider a high-level workflow library with accompanying lower-level API, each in its own CL package but same git repo due to synchronized releases.

Each system (*.asd file) isolates tests and may be invoked using:

(asdf:test-system foo :force t)

Separate systems may be built via make, which definitely helps isolate SBCL code-coverage reports.

Some users of the library may only want to load the lower-level API. For simplifying dependencies for those using higher-level API, it seems best to keep everything bundled in one repo. Any revision to one library would likely require updating all for the same release.

I currently have a single directory tree with a subdirectory for each CL package. There's a top-level Makefile plus one in each subdirectory that the library maintain would use. The top-level also contains symbolic links for .asd files pointing into relevant subdirectories. (It's a library deeply dependent upon POSIX calls via uiop-posix, so it's only applicable on an OS with sym-links.)

This seems to be an issue at large considering issue #1 for Quicklisp-docs [0].

Found nothing relevant in Google's CL style guide [1], State of the Common Lisp Ecosystem, 2015 [2], Edi's CL Recipes [3] or Lisp-lang [4]. Browsing repos seem to have quite a mix of styles.

Repo to be fixed: https://gitlab.com/dpezely/cl-mmap
(commit a23bd88d of 2018-07-14; release will be tagged when fixed)

Thanks,
  -Daniel





--
Kenneth Tilton
http://tiltontec.com/