Library to provide a universal configuration layer.
This Library Has Been Superseded
Please use Ubiquitous instead. It is a new and improved attempt at achieving the same thing that Universal-Config does.
Universal-Config tried to do too much, mostly trying to accommodate a system to allow "generic serialisation" to any format plausible. This required really uncomfortable kludges such as a prefix character on strings to allow merging different types into a string in the output. In turn this means that the configuration files generated by it are rather ugly to look at and edit by hand. Furthermore, Universal-Config doesn't attempt to be thread-safe in any fashion, nor caters to general needs such as knowing where to store the files.
Ubiquitous is therefore a new attempt from scratch that should replace Universal-Config. It doesn't do any intermediate conversion stage before serialisation and instead offloads that to the actual output format, so that the user can decide for themselves what the best course of action would be if they do in fact want a different format than the standard SEXP-based one that is provided out of the box. It also takes care of figuring out an appropriate storage location for configuration files, is small enough to be bundled into a single lisp file that can be LOADed if that happens to be a requirement for deployment, and has an extension that allows thread safety if needed.