
Qi: a Simple Package Manager for Common Lisp - gnocchi
http://codyreichert.github.io/qi/
======
616c
If the author shows up, as one of a few here who wants to know, why YAML? In
other languages YAML parsers are a dime-a-dozen affair, while the same is true
of SEXP/EDNish type stuff so proudly mocked in Lispland by insiders and
outsiders alike.

Was it personal preference or something more? I scanned your stuff, but did
not see anything insightful on the landing page.

~~~
eudox
YAML is a neat format.

~~~
616c
I take your opinion pretty seriously with the weight of your CL work. If you
have time, I would love to hear your rationale.

------
jlarocco
I'm not sure I understand what this is providing over QuickLisp and
QuickProject. Version pinning seems useful, but I don't see an explanation of
how it's being done, and I don't understand how it can work with a REPL. It
seems like it would be better to handle it in asdf and QuickLisp. Using YAML
also seems like a poor choice for Common Lisp, where everything is
s-expressions.

Also, there's already a Common Lisp project named "Qi":
[http://cliki.net/Qi](http://cliki.net/Qi)

~~~
616c
That is a very fun story. It is not really Qi anymore, it is Shen.

And boy oh boy does that have an interesting backstory unto itself. If you
wanna try the proprietary cum BSD-licensed core of it, a K-lambda language
that is like a Lisp on Haskell/Idris-typed steroids, give it a shot.

[http://www.shenlanguage.org/download_form.html](http://www.shenlanguage.org/download_form.html)

------
616c
This looks pretty cool. It sounds like it can wrap Quicklisp, which is real
good considering how much work and apprecation there is for @xach re the
Quicklisp work. He also expects to have a big donor announcement status
announcement in a few days, according to blog.quicklisp.org.

This seems like it is not just a package manager, but maybe like a project
manager, between Quicklisp and cl-project?

Anyway, every few months I am happy to get back into the CL scene. There is
something I cannot get me to move away from the dark arts of Lisp!

~~~
CodyReichert
Quicklisp is definitely awesome - CL is a million times better with it.

You don't need to use Quicklisp to use Qi, but you can definitely use them
together. The same is true for cl-project (which I really like).

The biggest use-case in mind was the ability to specify dependency versions
and custom dependencies that aren't in quicklisp (pulling from a private git
repo was my use-case; someone added support for mercurial recently).

------
yarrel
This seems to focus more on project lifecycles and scaffolding than Roswell
(my current go-to toplevel for Common Lisp).

I'm not sure about using yml to track dependencies, those should be in the
asdf file, although I guess this is to enable pinning etc.

~~~
616c
I too was looking at Roswell only to discover the core is in C. There is a
very amusing issue where one contributor/user asks why not in Go, but then one
of the core devs is like "Is there not another language we might be interested
in? You know, the one we're developing for?"

[https://github.com/roswell/roswell/issues/104](https://github.com/roswell/roswell/issues/104)

I am not sure why C in the first place. It looks like a fun tool, but seems
like minor heresy. Jokes aside, the ease of shoving things down a la Lisp
images, albeit unpopular, made me think building a Lisp mgmt tool in Lisp is
easier for idiots like me who took ages to understand the ./configure, make,
make install workflow of *nix platforms.

