Log in

No account? Create an account

Practical Lisp 2008

A little more than three years ago there was a thread in comp.lang.lisp about what people were working on in Common Lisp. I found the replies, some summarized here, quite inspirational; they were from people doing practical stuff (even Real Work) with Common Lisp, beyond things like going through Project Euler or doing exercises from SICP. (Not that those aren't fine things to do, but.)

Let's update this. What are you using Common Lisp for in 2008? What are you using to do it? I'll start:

I mostly use Common Lisp to make graphics toys at Wigflip.com. To that end I'm always looking for new ways to produce or consume graphics-related things. For example, I'm adding support for processing OpenType fonts to ZPB-TTF and making a hybrid of Skippy and Vecto to produce simple vector-oriented animations. I'd also like to add APNG support to ZPNG.

I primarily use SBCL on Linux, x86 and x86-64, with Emacs and SLIME. For deploying all my website stuff I use Edi-ware extensively: Hunchentoot, HTML-TEMPLATE, and CL-WHO. I use CLSQL for a few things too. For graphics work, I use mostly my own libraries.

How about you? Leave a comment and let me know.




What I do with Lisp

I work for a tiny billing company and maintain some Lisp which automates the billing process. I use Clisp 2.33 (I think) on MS Windows 2000 and pretty much nothing else. I shell out to external programs a lot during the process (oracle, command line c++ programs, curl, etc). It seems like I should write more lisp so as to remove the requirement to shell out to an external program, but those other programs are used periodically outside of the billing cycle. So, it just hasn't made business sense to tackle those issues. It's a fun project and the code is extremely resilient to change. Features can be added easily. It has been running for the past couple of years and was written when I was first learning lisp, so it's not the best lisp, but still works! woot! At some point, I'd like to do some major refactoring to clean up the code as well as upgrade to a newer version of Clisp.