<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>I posted this to Stack Overflow but was hoping for more input.<br>
    </p>
    <p><a class="moz-txt-link-freetext" href="https://stackoverflow.com/questions/51638864/common-lisp-style-multiple-packages-in-same-repo">https://stackoverflow.com/questions/51638864/common-lisp-style-multiple-packages-in-same-repo</a></p>
    <p><br>
    </p>
    <div class="post-text" itemprop="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">https://github.com/rudolfochrist/quicklisp-docs/issues/1</a></li>
        <li>[1] <a
            href="https://google.github.io/styleguide/lispguide.xml"
            rel="nofollow noreferrer">https://google.github.io/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">https://web.archive.org/web/20160305061250/http://eudoxia.me/article/common-lisp-sotu-2015/</a></li>
        <li>[3] <a href="http://weitz.de/cl-recipes/" rel="nofollow
            noreferrer">http://weitz.de/cl-recipes/</a></li>
        <li>[4] <a href="http://lisp-lang.org/learn/writing-libraries"
            rel="nofollow noreferrer">http://lisp-lang.org/learn/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">https://gitlab.com/dpezely/cl-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>
  </body>
</html>