## Thursday, May 21, 2009

### cl-numlib, array-operations and cl-colors migrated to Github; my packages are asdf-installable again

Looks like I goofed up when releasing cl-2d: it used a few routines which were sitting on my hard disk but not made public yet. I think I corrected that, and pushed the new versions to Github. Also, I think I figured out how to link to tarballs on Github. Using entries like
:(package "http://github.com/tpapp/cl-2d/tarball/master")
ASDF goes to Github, where is it redirected to the latest master tarball, and appears to work fine. If not, let me know and it will be fixed. Still, I would suggest that you use git to keep updating the libraries if you can. Thanks to Peter Mikula for reporting the missing library code.

1. Do I assume correctly that when you say "ASDF goes to" you mean ASDF-INSTALL?

If so, this seems like a really good thing. I would have thought that having the tarballs on github in this way would be better than just updating from git, since it means that the process can be automated through ASDF-INSTALL and provide a notion of release that the "pull from git" approach doesn't offer.

But I'm not an expert git user by any means.

2. Yes, I meant asdf-install. I agree it is a good thing, I just hope it is robust.

3. As someone who tries both to deliver lisp code, and to work with people at multiple locations on lisp code, I'm not in favor of the current fashion for "no-release" libraries. By this I mean those where the user is supposed to pull from a revision control system.

If you want to use a library as a library and work with others, this is really quite undesirable.

Having the ability for ASDF-install to pull a particular tag from git would allow the library developer to provide at least semi-formal releases without a lot of overhead (since most lisp libraries are still very much volunteer affairs) while providing library users the ability to have clear points of reference when fielding or working with others.

It would seem ideal to be able to enhance ASDF-install in two ways:

1. Allow it to pull a tag from a git repo, making it possible to avoid the fuss of tarballs and

2. Automagically translate git tags into ASDF system versions. That way :version dependencies in ASDF system definitions could be used to detect dependency breakage by version drift.

4. Robert: as far as I am concerned, ASDF-install is a dead end. I am exploring mudballs at the moment and will migrate my libraries if it is nice enough. I still plan to make my packages loadable with ASDF, but not necessarily ASDF-installable.