International Lisp Conference 2003 Programming Contest

I participated in the ILC'03 programming contest, which involved writing a Common Lisp program to solve a puzzle. My entry won the prizes for fastest entry and for elegance. Here are the relevant links:

Programming contests can be a lot of fun, though I think many of them are poorly designed. They often involve too much code and not enough that is interesting. In my opinion a good contest is about solving a clever puzzle or finding a novel solution to a common problem. This contest was a nice example of that—there are many ways one could approach the solution, but the problem itself is pretty simple.

My real motivation for this contest was actually learning OCaml. I needed small problems to work on to get the hang of the syntax and I came across this contest. I implemented the core search in OCaml first and then rewrote it in Common Lisp. The bit that sets the problem up and decodes the pieces (which is what got me the elegance prize) I wrote in Lisp but not OCaml.

I first learned Lisp in 1996 as part of my freshman programming course. After serving an LDS mission for two years I came back and joined the teaching staff for the same course and learned Lisp again (I'd forgotten everything important about it during those two years). I don't regularly write Lisp code these days, but I do think it is one of the most interesting languages out there.

I came across the contest through a link from Paul Graham's site. If you have some spare time and want some interesting reading, you'll enjoy his site. When I first learned Lisp it was using his textbook.