The asdf-install package is now available from cl-prevalence.
Most stuff here from the Common Lisp Prevalence website. This code was written by Sven Van Caekenberghe using OpenMCL, an open source Common Lisp implementation for MacOS X (Darwin) and LinuxPPC. You can learn more about OpenMCL on http://openmcl.clozure.com/. CMUCL is known to run this code successfully.
Release 1, June 10, 2003: First Public Release
This is a proof of concept implementation of Object Prevalence. Object Prevalence is a simple but interesting concept first proposed by Klaus Wuestefeld in 2001. IBM developerWorks has a reasonable Introduction to Object Prevalence article. (But see also the 1987 paper by Birrell, Jones and Wobber entitles A Simple and Efficient Implementation for Small Databases where most of these concepts are worked out in detail minus the cool sounding name! gwking).
The main Java implementation is called Prevayler, and it's available from here. Prevayler claims whopping benchmarks, because it stores objects in RAM. However, Prevayler garantees that "if you pull the plug, your object will 'prevail' ." (This quote from Klaus from a magazine article).
Arthur Lemmens also gave an overview on the various Common Lisp ways to achieve object persistence, covering these prevalence libraries.
NOTE: This is exactly what Smalltalk does (before 2001 :).
Another try at common lisp prevalence is available at the bknr website. It doesn't use XML serialization as Sven's code does, but instead writes LISP snapshot and transaction-log files that can be restored using LOAD.
An alternative to prevalence use an object database like Elephant. Elephant is transparent like prevalence (automatically serializing lisp values) but backed by Sleepycat/Berkeley DB, an embedded database, as well as relational databases. Since the cache is mapped to in-process memory, reads are very fast. Sleepycat is very mature, and supports many advanced features.
The simplest way to do a web site with persistent data is just to use the reader and printer to serialize your objects. You can go more complex than that, if you want, and that's what bknr does, for instance. lisppaste serializes its transactions as XML; cl-blog just uses serialized sexprs. I have no idea what cliki looks like on disk.
manardb may be a more efficient implementation of prevalence; it can also store very large datasets.
This page is linked from: cl-prevalence
CLiki pages can be edited by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively