On Aug 30, 5:02 pm, nchubrich <nchubr...@gmail.com> wrote: > Persistence libraries always end up warping the entire codebase; I've > never succeeded in keeping them at bay. Using data with Incanter is > different from ClojureQL, which is different from just using > contrib.sql, and all of it is different from dealing with just > Clojure. (I've never even tried Clojure + Hibernate.) You might as > well rewrite the program from scratch depending on what you use. > Maybe other people have had better luck; but whatever luck they have, > I'm sure it is a fight to keep programs abstracted from persistence.
I feel the same way. Late last year, I wrote a small BDB-based library for adding disk persistence to Clojure datatypes. It does require knowing in advance which types you want to write to disk. I haven't had time to work on it recently, but I'd like to pick it up again sometime soon. (And I welcome help — the wonders of open-source software and all that.) http://github.com/gcv/cupboard It has a few outstanding problems. 1. It needs to be updated for deftype and defrecord in Clojure 1.2. 2. Deadlock detection doesn't seem to work 100% of the time, and I haven't yet tracked down the reasons. Parts of the test suite currently fail as a result. 3. Reads are slow. Casual profiling hasn't revealed the reasons, so it's a bit tricky to track down. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en