Just when I was starting to think about persistence, along comes Elephant, a Lisp persistence system based on Sleepycat.
- Transparency: most Lisp values are easy to persist without much effort or special syntax. Talk to the DB with Lisp code, not SQL or another domain-specific language. No additional server to run.
- Safety: ACID, transactions. Concurrent with good multi-user and -thread semantics / isolation, locking and deadlock detection.
- Simplicity: be a small library with few surprises for the programmer. Lisp and Berkeley DB together are an excellent substrate, try to use their features as much as possible.
- Performance: leverage Sleepycat performance and reliability. In addition to fast concurrent / transactional modes, elephant will (eventually) offer an accellerated single-user mode.
Also, Christophe Rhodes has some very preliminary Unicode work going in SBCL.
Plus Nikodemus Siivola is working on linkage tables for SBCL.
So, a lot of really good recent developments.