« BackMount Unix system into Common Lisp imagegithub.comSubmitted by BoingBoomTschak 14 hours ago
  • sevensor 10 hours ago

    Every time I approach sbcl I run smack into the problem of installing dependencies. Quicklisp, clpm, roswell, ultralisp, qlot. Docker even. Each cool sounding project wants me to do something different. This one prefers ultralisp. Do CL users actually use libraries from multiple sources at the same time. Do all these tools play nicely with each other?

    • koito17 4 hours ago

      Ultralisp is Quicklisp but with frequently updating dists rather than monthly dist releases. Its popular is due to the fact Quicklisp, in comparison, takes lots of time for submitting and updating libraries.

      CLPM is an interesting project but not used very often since projects rarely version anything in the CL ecosystem (not even branch tags anymore). Personally, I have never seen a library that suggests CLPM for installation.

      Roswell is a CLI tool that manages Common Lisp installations, with Quicklisp set up automatically.

      Never heard of Qlot or Docker being used.

      My biggest gripe is the fact Quicklisp is widely used and no notion of version dependencies exist (not even lockfiles exist). So Common Lisp code with tons of Quicklisp dependencies tends to rot really fast. e.g. it's practically impossible today to build projects like https://github.com/akamai/cl-http2-protocol

      • anothername12 3 hours ago

        > Never heard of Qlot

        > no notion of version dependencies exist (not even lockfiles exist

        I think that’s the point of Qlot

      • Onavo 10 hours ago

        Lisp users generally treat libraries the same way C people do and vendor anything that's truly important. There's ocicl if you want something more scalable.

        https://github.com/ocicl/ocicl

        (Lisp users are generally very anachronistic people who don't understand dependency management nor know how to resolve diamond dependency issues, ocicl is one of the better approaches along with CLPM but they both get a lot of pushback from the community which "don't see a need".

        • sevensor 10 hours ago

          Thanks! Actually vendoring it in sounds pretty reasonable for my purposes, which are basically “mess around with this thing somebody posted to HN.”

          • lukego 10 hours ago

            I think the median user starts with quicklisp and then clones random stuff into the ~/quicklisp/local-projects/ dir where they are automatically visible.

            • lamuswawir 8 hours ago

              Cloning into ~/common-lisp/ also works great.

              • pfdietz 9 hours ago

                This is what I do.

          • BoingBoomTschak 8 hours ago

            Well yeah, there's pain aplenty in the CL ecosystem but that's how it is. I'm still on quicklisp, but eyeing a better solution too (qlot or maybe ocicl, though I don't like the Entreprise^tm whiff and having to download a fat Go binary not packaged anywhere to do anything).

          • BoingBoomTschak 14 hours ago

            For those of us who dreamed of a SCSH for CL