Common Lisp style: multiple packages in same repo

Ken Tilton kentilton at gmail.com
Sat Aug 25 23:53:11 UTC 2018


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 at 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.
>
>    - [0] https://github.com/rudolfochrist/quicklisp-docs/issues/1
>    - [1] https://google.github.io/styleguide/lispguide.xml
>    - [2] https://web.archive.org/web/20160305061250/http://eudoxia.
>    me/article/common-lisp-sotu-2015/
>    <https://web.archive.org/web/20160305061250/http://eudoxia.me/article/common-lisp-sotu-2015/>
>    - [3] http://weitz.de/cl-recipes/
>    - [4] http://lisp-lang.org/learn/writing-libraries but see also their
>    section on Continuous Integration
>
> 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/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/pro/attachments/20180825/8acb8cf4/attachment.html>


More information about the pro mailing list