January 24th, 2007

Lisp software of the week: Postmodern

I use and enjoy CLSQL, but today I came across some new database software I'm going to evaluate: Postmodern.

From the project page:

Postmodern is a Common Lisp library for interacting with PostgreSQL databases. Features are:

  • Efficient communication with the database server without need for foreign libraries.
  • Support for UTF-8 on Unicode-aware Lisp implementations
  • A lispy syntax for expressing SQL queries
  • Convenient support for prepared statements and stored procedures
  • Defclass-like definition of tables and associated accessor classes

The biggest differences between this library and CLSQL/CommonSQL are that postmodern has no intention of being portable across different SQL implementations (it embraces non-standard Postgres features), and approaches extensions like lispy SQL and database access objects in a quite different way. This library was written because the CLSQL approach did not really work for me, your mileage may vary.

I like the sound of that. The documentation is also good.

This is the sort of Lisp software I love to find, since it:

  • is documented (this is a very important thing)
  • serves a specific, useful-to-me purpose
  • is complete enough for many tasks

I don't really care how beautiful the code is (I haven't looked yet), as long as it faithfully implements the documented interfaces and can be treated as reliable substrate.

unique books

I can think of only one book that would include this in the description (for a used book sale): "It still contains the barf bag attached to the inside rear cover." But that one's a classic.