Skip to main content

“make depend” for lisp

As the software-publishing planet.lisp.org crowd probably knows, writing simple defsystems with ASDF is pretty easy. Dependencies are not hard to find (and to specify), if you have up to 10 or 20 components. Beyond that, though, it becomes pretty painful to maintain a system definition file that doesn’t result in a compilation error. After that, it’s easier to use a serial system definition: just find a defined order to compile and load the files.

A break for advertising (and a bit of synchronicity)

(No Lisp content here, move along, planet.lisp reader…) For a few months now, I’ve been heckling Mac DVD burning software authors to provide full DVD+RW support (as in, the ability to append files to a burned DVD+RW, the way growisofs and its amazing front-end, k3b do on Linux). To no avail. I got all sorts of lame excuses, from lack of hardware support to no interest. To spite those lazy burning application authors, I decided to do it myself.

McCLIM 0.9.4 “Orthodox New Year” released!

We released McCLIM 0.9.4 today. You may be wondering what’s so cool about it this time, so here’s a short list: A new input editor and editing substrate called DREI (covered here before), several great improvements to gtkairo (see lisp porn here), and many cool new features and bug fixes, including a few clim 2.2 functions. (Of course, there are probably lots of new bugs in there, too. Please let us know about them at mcclim-devel at common-lisp.

Threads for SBCL on FreeBSD

I don’t use FreeBSD anymore, but for some reason, this topic still interests me. So it brings me great joy to see that NIIMI Satoshi has a patch that adds threading support to SBCL on FreeBSD! I tested it on FreeBSD 6.1-RELEASE running in Parallels Desktop for Mac, and all tests passed 2 of 3 times. I think this would be a good time for all FreeBSD-using lispers (especially those running it natively) to help us test this change.

A negligibly inconvenient truth

Xach writes: I imagine they are writing […] to their future self, who will be impressed with how hip and with-it younger self was. Xach knows me better than I know myself. This time, it’s because I do have another (not really top secret, but slightly embarassing, so not linked here) blog. Have had one for 5 years, in fact. And its sole purpose is to impress my future self with how hip and with-it my younger self was.

An unexpected optimization (also, archiving IMAP mail with mel-base)

As I own my own mail server, my mail setup is very much engineered to fit my own needs. This means everything works as I think it should, but it also means I have to hack things myself if I need them. This time, I needed a program that can move IMAP mails to archive mailboxes. (Side note: My IMAP mail server is dovecot, which supports keeping mail in different namespaces in separate storage system.

CLISP git repository available

As a pleasant side-effect from CLISP boinkmarks availability, I can now make available a git-ified clone of CLISP’s CVS repository that is synced once every hour. To use it, point your git or cogito client at git://sbcl.boinkor.net/clisp. If you want to browse the commits, tags and branches, you can get a gitweb summary (with rss!) here. Of course, tips I posted about the git-ified SBCL on this blog before (like the one about finding bugs by using git bisect) apply to the git-ified CLISP as well!

Three useful .emacs hacks for lispers

I gave in and updated my lisp hacking-related emacs configuration today. These three snippets make my life easier now: Turning off the “unsafe local variable” warning for common lisp source files. Several packages use the -*- convention to set the major mode; some also set variables like Package, Base and Syntax. Emacs 22 doesn’t know that they’re harmless and prompts almost every time I open a new lisp file. Ugh. Use this: (put 'package 'safe-local-variable 'symbolp) (put 'Package 'safe-local-variable 'symbolp) (put 'syntax 'safe-local-variable 'symbolp) (put 'Syntax 'safe-local-variable 'symbolp) (put 'Base 'safe-local-variable 'integerp) (put 'base 'safe-local-variable 'integerp) and remove all those unnecessary safe-local-variable-values customizations.

Some UI improvements to boinkmarks

I’ve spent the last few hours adding a bit of javascript/araneida magick to the boinkmarks web interface. If you have javascript enabled, and your browser is supported by dojo, it’s possible to select the hosts, implementations, releases that you want in a matter of seconds (and not in 2-3 minutes). Yay! Also, that taught me some useful lessons: I’m not cut out for web development. Seriously, ew. Parenscript is nice. But then you find out you can’t write something.

CLISP boinkmarks available

Here’s the explanation of yesterday’s cryptic announcement: Prompted by a late-night discussion on #lisp, I added build/benchmark support for CLISP to autobench. It’s currently churning away at early releases, but some numbers are already in. Graphs are available for AMD64 in 32-bit mode and AMD64 in native mode. When everything is working correctly, I’ll start benchmarking CVS commits as they trickle in (just like I do for SBCL). If any volunteers want to dedicate hard disk space (the git tree is 186 MB, plus 1.