POS

BRIAN SPILSBURY zhivago@iglou.com
Sun, 11 May 1997 03:22:09 -0400 (EDT)


> Transparent means you can't really see it. That which is on the other
> side looks the same as if "whatever" wasn't in the middle. Persistence
> should not be totally transparent because a) users explicitly WANT to
> manage it and know what is stored there and b) programmers often want to
> manage it because sometimes they want to force a commit 

I agree, transparent unless you want to actually look at it, a bit
like a window.
  
> support, but not *file system support*. Why not just have a function:
> "(save-my-state)" that saves the current state. In fact, in Scheme I
> would write it this way:
> 
> (define (save-my-state path)
> 	(call-with-current-continuation
> 		(lambda (continuation) (write continuation path))))
> 
> That requires a standard format for continuations, of course.

That's fine, now tell me when I press my shiny 'shutdown button'
do I then go and say 'hellllloooooooooo, everyone do your persistence
stuff, because the power is going away'. Then I need additional mechanism
to manage this, and I need programs to comply with protocols, and eventually
I may need to turn off the power not being sure that everyone has
persisted stuff. I'd call this a bad thing(tm).
  
> > Most programs don't need to use a file-system as a place to store files
> > reachable by others. A filesystem is only useful as a registry in which
> > other things can seek out stuff without you explicitely telling
> > them about it.
> 
> Right. I think that everything should go into the registry so that users
> can manage it from standard programs ("ls", "df").

Agreeed, in which case that's your standard way to find stuff, and all
done at the user level, which means that I can replace it with a 6 dimensional
frisbee oriented system later on if I so choose.

> What's so difficult about my save-my-state function? It should work fine
> on the Unix file system or any other operating system as long as there
> is an external representation of continuations. But that's a language
> implementation issue, not a file system issue.

Calling it is the problem. Especially when you want a chance to recover when
that idiot in the next cubicle accidently unplugs your machine to make
the the coffee machine go.

Brian