[rucksack-devel] Stability

James Ashley james.ashley at gmail.com
Tue Dec 7 01:44:59 UTC 2010


Howdy!

I blogged yesterday about data persistence in common lisp
(http://www.dotnetmafia.com/blogs/jamesashley/archive/2010/12/05/4241.aspx
if anyone cares).

One of the members of #lispcafe (schmrkc) convinced me to take another
look at rucksack. It seems to be *exactly* what I'm looking for.

Before I update the blog entry and recommend it (to all 5 people who
actually read the blog), I figured I'd check here about its
status/maturity. I've run across way too many CL libraries where the
maintainers recommended I ignore it and roll my own.

Is this something I can "safely" (for some value of "safe") recommend
to end-users? The documentation seems pretty self-deprecating, which
is why I gave it a pass the first time I noticed it.

BTW, here's a patch I used to get it working on clozure. Not sure that
it's "correct," but it looked pretty straightforward:


diff --unified rucksack.original.lisp rucksack.lisp
--- rucksack.original.lisp      2010-12-06 19:24:19.000000000 -0600
+++ rucksack.lisp       2010-12-06 19:26:28.000000000 -0600
@@ -258,7 +258,9 @@
   (mp:process-lock lock)
   #+sbcl
   (sb-thread:get-mutex lock)
-  #-(or sbcl lispworks)
+  #+ccl-1.4
+  (ccl:grab-lock lock)
+  #-(or sbcl lispworks ccl-1.4)
   (not-implemented 'process-lock))


@@ -267,7 +269,9 @@
   (mp:process-unlock lock)
   #+sbcl
   (sb-thread:release-mutex lock)
-  #-(or sbcl lispworks)
+  #+ccl-1.4
+  (ccl:release-lock lock)
+  #-(or sbcl lispworks ccl-1.4)
   (not-implemented 'process-unlock))


(Yeah, I know. I've been bitten numerous times by changes that "looked" simple).

Thank you,
James




More information about the rucksack-devel mailing list