What's a POS??
Martin Cracauer
cracauer@wavehh.hanse.de
Fri, 9 May 97 12:03:43 +0200
Kelly Murray writes:
> The way to learn how they work is to go read the research literature,
> read the OODB companies product descriptions and white papers.
I think it was exactly Mike's point that the literature has too many
ways to form an API for persistence.
> I can point to AllegroStore as an existing, working
> commercial product which is an instance of a persistent CLOS that
> represents certain properties and implementation decision.
> There are many others too.
>
> My own persistent CLOS implementation is still in progress so some
> design decisions have not yet been made.
> It is a very different implementation than AllegroStore,
> but will likely have a similiar kind of API as AllegroStore
> which was actually mostly copied from Symbolics' Statice
> (customers wanted this same API)
So Statice, AllegroStore (which is implemented on top of ODI's
Objectstore, AFAIK) and what you plan for LispOS all share the same or
a similar API.
The only information I have about Statice's API is what I heared on
LUGM '97 by Thomas Neumann. I don't have anything on paper. I think it
is important that we all can have a better idea of the API. Maybe it
is possible to convince Franz to make AllegroStore's Documentation
available on the net or at least printed manuals for a small fee?
As I remember it, the approach taken by Statice is a very elegant one
when it comes to work with a more elegant form of what a classical
tabular driven relational database is.
But I wonder how suitable it is for persistence of fine-graded
work. Let me give you an example.
In Unix, I often do something like this:
ls -lg foo*.dat | somecommand
where somecommand takes the ASCII table, reparses it into strings and
numbers and does sometjing with it.
The Lisp equivalent could look something like this
(somecommand (file-information (glob "foo*.dat")))
where file-information puts out a struct that somecommand uses to do
its work.
No, if `ls -l` were a long-running program, or if I would like to
capture the state of the directory before I change somethings, I could
do it like this
ls -lg foo*.dat > somefile
and later, maybe weeks and reboot later
somecommand < somefile
What would the Lisp POS equivalent look like? How would it be
different from plain print/reading the struct?
Martin
--
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Martin Cracauer <cracauer@wavehh.hanse.de>
http://cracauer.cons.org
Fax +49 40 522 85 36