Lisp HUG Maillist Archive

Persistence Library for LW

Hi,
Is there any persistence library that allows directly saving and restoring 
lisp objects?

Regards,
Rangarajan 



Re: Persistence Library for LW


> Is there any persistence library that allows directly saving and
> restoring lisp objects?

I use cl-store, which can save the objects to a flat file.
http://common-lisp.net/project/cl-store/

There are other packages that use SQL or Berkeley DB as backends to
store objects.  If you have a particular need we can probably point
you at a package.

Cheers,
Chris Dean


Re: Persistence Library for LW


> Thanks for the link. I am planning to use LW in a commercial
> application and am looking for a lisp store that permits ad-hoc
> queries on the stored data. I guess cl-store might not have that
> feature (I will have to check this out). 

cl-store doesn't have any querying features. It is a very low level
serialization library, and probably not what you are looking for.

I think you're going to end up with a SQL based solution or some sort
of persistent object system.  I won't be much help here -- I know some
packages exists but I don't use them.

As far a SQL solution, you can look at the one that comes with
LispWorks, or try CL-SQL:

  http://www.lispworks.com/documentation/lw50/LWUG/html/lwuser-231.htm
  http://clsql.b9.com/

As for a persistent object system, you could look at elephant
http://common-lisp.net/project/elephant/

> I think Allegro CL comes with a proprietary data store
> implementation based on BDB. 

AllegroCache seems very nice, but I believe it only works with Allegro
Common Lisp.

Cheers,
Chris Dean


Re: Persistence Library for LW

Chris Dean <ctdean@sokitomi.com> writes:
> I think you're going to end up with a SQL based solution or some sort
> of persistent object system.  I won't be much help here -- I know some
> packages exists but I don't use them.

I should have added my solutions.  My datasets always seem to fall
into 2 categories:  very big (too big for SQL to handle comfortably)
or fairly small (small enough to fit into ram).

For the big stuff, we have custom file formats that we use.  For the
small stuff we just load them into ram at the start and write the Lisp
objects directly to simple files when the data changes.

Cheers,
Chris Dean


Re: Persistence Library for LW


> Also consider cl-prevalence at
> <http://common-lisp.net/project/cl-prevalence/ >

This is a nice package, and if your dataset fits into RAM it's a
wonderful solution for the persistence problem.

Cheers,
Chris Dean


Re: Persistence Library for LW

On Wed, 23 Jan 2008 07:56:36 +0530, "Rangarajan Krishnamoorthy" <ranga@mmsindia.com> wrote:

> I think Allegro CL comes with a proprietary data store
> implementation based on BDB.

It's not based on BerkeleyDB, it's pure Lisp code.

  http://www.franz.com/products/allegrocache/AllegroCache_for_ILC_2005.htm


Re: Persistence Library for LW

On Jan 23, 2008 4:02 AM, Rangarajan Krishnamoorthy <ranga@mmsindia.com> wrote:
>
> Thanks! So they moved away from BDB after the prototype.
>
> I hope LW folks will build something similar.

You can also try elephant <http://common-lisp.net/project/elephant/>,
 I've had some good experiences with it.

sean


Re: Persistence Library for LW

Hi,

-------- Original-Nachricht --------
> Datum: Wed, 23 Jan 2008 06:33:57 +0530
> Von: "Rangarajan Krishnamoorthy" <ranga@mmsindia.com>
> An: lisp-hug@lispworks.com
> Betreff: Persistence Library for LW
> Is there any persistence library that allows directly saving
> and restoring lisp objects?

BTW, is anyone interested in brushing up my old PLOB! version
(http://plob.sourceforge.net/) to make it available for the
latest LW version? The last update was 3 years ago. The new
release would merely be a maintenance release, i.e. no changes
to its architecture (using still POStore as persistence layer).
I would try to add support for Mac OS X, but I haven't checked
technical feasibility of this up to now. IMHO, I have now the
impression that there are many alternatives´besides PLOB!,
including pure-LISP solutions.

If interested, I could prepare this maintenance release over
the next weeks (depending on the surprises I will find within
the current MOP implementation ;-) Send your interest to my
email address indicating what you intend to do with PLOB!.

Viele Grüße,
Heiko


Re: Persistence Library for LW

Zbyszek,

-------- Original-Nachricht --------
> Datum: Wed, 23 Jan 2008 13:35:12 +0100 (CET)
> Von: Zbyszek Jurkiewicz <zbyszek@mimuw.edu.pl>
> An: Heiko Kirschke <heiko_kirschke@gmx.de>
> CC: lisp-hug@lispworks.com
> Betreff: Re: Persistence Library for LW

> Could you say what are the conditions for using Postore (last
> time I tried it, it wasn't available anywhere on the web)?

I've requested the license conditions for POStore from
University of St. Andrews in Scotland some years ago.
All I received was a message telling me that the University
would not put the code into the public domain since they
are not allowed to do so (at least at that time), but the
POStore author I've contacted answered something like `do
with it what you want'. That's all I can offer for the moment.

(Sorry I didn't want to hijack this LWL thread, further
discussion on PLOB will be continued on PLOB's mailing
list. My apologies.)

Viele Grüße,
Heiko

-- 
Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! 
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer


Updated at: 2020-12-10 08:44 UTC