<div dir="ltr"><div class="gmail_default" style="font-size:large">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.</div><div class="gmail_default" style="font-size:large"><br></div><div class="gmail_default" style="font-size:large">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.</div><div class="gmail_default" style="font-size:large"><br></div><div class="gmail_default" style="font-size:large">Stop. Wrong way. Go back.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Aug 21, 2018 at 6:36 PM, Daniel Pezely <span dir="ltr"><<a href="mailto:daniel@pezely.com" target="_blank">daniel@pezely.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<p>I posted this to Stack Overflow but was hoping for more input.<br>
</p>
<p><a class="m_-5685769100379744681moz-txt-link-freetext" href="https://stackoverflow.com/questions/51638864/common-lisp-style-multiple-packages-in-same-repo" target="_blank">https://stackoverflow.com/<wbr>questions/51638864/common-<wbr>lisp-style-multiple-packages-<wbr>in-same-repo</a></p>
<p><br>
</p>
<div class="m_-5685769100379744681post-text">
<p>May I get recommendations or links to representative code
repositories with good style for multiple related Common Lisp
packages, please?</p>
<p>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.</p>
<p>Each system (<code>*.asd</code> file) isolates tests and may be
invoked using:</p>
<p><code>(asdf:test-system foo :force t)</code></p>
<p>Separate systems may be built via <code>make</code>, which
definitely helps isolate SBCL code-coverage reports.</p>
<p>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.</p>
<p>I currently have a single directory tree with a subdirectory
for each CL package. There's a top-level <code>Makefile</code>
plus one in each subdirectory that the library maintain would
use. The top-level also contains symbolic links for <code>.asd</code>
files pointing into relevant subdirectories. (It's a library
deeply dependent upon POSIX calls via <code>uiop-posix</code>,
so it's only applicable on an OS with sym-links.)</p>
<p>This seems to be an issue at large considering issue #1 for
Quicklisp-docs [0].</p>
<p>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.</p>
<ul>
<li>[0] <a href="https://github.com/rudolfochrist/quicklisp-docs/issues/1" rel="nofollow noreferrer" target="_blank">https://github.com/<wbr>rudolfochrist/quicklisp-docs/<wbr>issues/1</a></li>
<li>[1] <a href="https://google.github.io/styleguide/lispguide.xml" rel="nofollow noreferrer" target="_blank">https://google.github.io/<wbr>styleguide/lispguide.xml</a></li>
<li>[2] <a href="https://web.archive.org/web/20160305061250/http://eudoxia.me/article/common-lisp-sotu-2015/" rel="nofollow noreferrer" target="_blank">https://web.archive.org/web/<wbr>20160305061250/http://eudoxia.<wbr>me/article/common-lisp-sotu-<wbr>2015/</a></li>
<li>[3] <a href="http://weitz.de/cl-recipes/" rel="nofollow
noreferrer" target="_blank">http://weitz.de/cl-recipes/</a></li>
<li>[4] <a href="http://lisp-lang.org/learn/writing-libraries" rel="nofollow noreferrer" target="_blank">http://lisp-lang.org/learn/<wbr>writing-libraries</a>
but see also their section on Continuous Integration</li>
</ul>
<p>Repo to be fixed: <a href="https://gitlab.com/dpezely/cl-mmap" rel="nofollow noreferrer" target="_blank">https://gitlab.com/dpezely/cl-<wbr>mmap</a><br>
(commit a23bd88d of 2018-07-14; release will be tagged when
fixed)</p>
<p>Thanks,<br>
-Daniel</p>
<p><br>
</p>
</div>
</div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>Kenneth Tilton</div><div><a href="http://tiltontec.com/" target="_blank">http://tiltontec.com/</a><br></div></div></div>
</div>