You should check out Arthur Lemmon's Rucksack, it's architecture is much more ZODB like.

A couple of people are also interested in doing an all-lisp data store for Elephant that gets rid of any license issues. I believe that it may be possible to make the native solution run faster than BDB. I'm still stuck on how to perform inexpensive locking or atomic sections (for lock-free datastructures) without external libraries.

Ian



On Apr 11, 2007, at 1:37 PM, Ben wrote:

this is an entirely anecdotal remark, not really relevant, but one of
the original inspirations for elephant was a database system that was
used in-house at a company i was at with andrew blumberg and other
lisp hackers.  i was doing java crap and was a complete lisp neophyte,
and was amazed to see "change-class" in action.  that was a disrupting
experience.  also, i had been worried about the object-relational
impedance mismatch for a while.  BDB-backed elephant was a way to get
persistence without a table structure, and hopefully reap some
benefits in flexibility.  the original target applications were web
stuff and a mother-of-all-email-clients which never materialized.

i still think writing a ZODB-like backend would be a good idea,
especially given sleepycat's licensing issues.

take care, B

On 4/11/07, Pierre THIERRY <[EMAIL PROTECTED]> wrote:
Scribit Robert L. Read dies 09/04/2007 hora 18:43:
> However, if someone else can go, I am also happy to help or to
> co-author a paper with them.

It occurred to me that the combination of persistence and the MOP goes far beyond anything else I know in terms of flexibility WRT to the data
model.

That is, even a powerful macro system to build code that accesses a DB sets in stone the data model at compile-time. But a persistence library
based on the MOP can bring to stored data the dynamic nature of CLOS,
and you could completely change how data is organized, while the
application runs, without having to build a migration tool, even if this
process is automated (which is hard, I suppose), like cl-migrations.

Like Erlang, Common Lisp enables a system to remain live while being
updated at the code level. An Elephant-like persisence library enables a system to remain live while being updated at the data model level also,
almost for free.

I think this could easily make a short paper, maybe even a long one. I will try to write a first draft of it, and probably ask for help at some
point.

Quickly,
Pierre
--
[EMAIL PROTECTED]
OpenPGP 0xD9D50D8A

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFGHRogxe13INnVDYoRAvePAKDqISbcjuxdCxcG+v5sgvkrK9pdqgCgiOs1
MCQO7iuqMvsotPM1iQA8ZoU=
=ez7O
-----END PGP SIGNATURE-----

_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel

_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel

_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel

Reply via email to