What's a POS??

Martin Cracauer cracauer@wavehh.hanse.de
Mon, 12 May 97 13:15:55 +0200


Harvey J. Stein writes:
> Martin Cracauer writes:
>  > 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?
> 
> I'd presume the POS equivalent would be:
> 
>    (setq somefile (file-info (glob "foo*.dat")))
> 
> Later you could do
> 
>    (somecommand somefile)
> 
> 
> When you wanted to do:
> 
>    rm somefile
> 
> You'd instead do
> 
>    (unintern somefile)

This is the approach to make every object persistent. I don't think I
want that nor do I think it can be implemented efficiently, Unix
swapspace hacks or not. And I think it will make live quite hard to
acess data that is larger than the maximum address range of your Lisp
implementation.
 
> The system itself would make sure that everything's committed to disk
> at an appropriate time.

That what I' afraid of ;-)

I feel the urgent need to get my hands (not eyes...) on some Lisp POS
systems. I don't have enough experience to judge over any approach and
I don't think I can get it by reading about it. Someone has an unused
copy of Statice for a Symbolics 36xx around?

Kelly has a big head-start here over most of us, no wonder he feels
uncomfortable sometimes. I can only repeat my request for posting of
more code examples so that people will be kicked out of their own
illusions. 

In no way I think your (Harvey) ideas of persistence are worthless
illusions. But I think they need to be discussed. The interface of
your approach is clear, there is none as long as you don't want to
transport objects to different Lisp worlds (what I want). But your
approach raises even more (efficient) implementation questions.

Martin
-- 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Martin Cracauer <cracauer@wavehh.hanse.de>
http://cracauer.cons.org
Fax +49 40 522 85 36