Default database / namespace

Kragen Sitaker kragen@pobox.com
Tue, 4 Jul 2000 19:19:38 -0400 (EDT)


Norm writes:
> Programs that travel between machines need to ask for the local
> whatsimacallit in some namespace.
> This name space needs to be conventional (among capability systems) but
> need not use ascii names.
> 
> There may be a better idea for traveling programs but I havnt heard it.

I have been thinking about this problem too (in the context of programs
traveling on floppy disks and tapes), and I came to the same
conclusion.

> I wrote a few notes at
> <http://www.mediacity.com/~norm/CapTheory/KK/environVar.html> about
> environment variables in a capability system. Also some issues with
> fetching behavior over comm links.

There you write:

>    What I intended to write about here is some environment variables that are 
>    not needed in a capability system. In Unix the yield of "printenv" for me 
>    shows many values of interest to just one program. In a object system
>    those values should be encapsulated in my instance of that program. PATH,
>    MANPATH, SHELL and many more are like this. Other values seem to be secret
>    notes left by one app to another. These notes would be less vulnerable if
>    conveyed by a capability.

The man factory may not be smart enough to know how to remember my
MANPATH, but I can easily build an adapter --- in a way similar to
Emacs' "advice" --- that I can call with all the relevant arguments for
man, except for MANPATH, which will pass the invocation along to the
man factory with my MANPATH capability added.  A similar strategy works
for the two-space-banks-and-a-meter default arguments.

(man, by the way, is an example of a non-shell program that needs a
namespace; part of its job is to find a collection of manual pages
relevant to my query, and those manual pages are stored in some kind of
a database, usually a hierarchical namespace.  Another part of its job
is to cache rendered versions of these pages; it needs a namespace for
that, too, presumably a namespace belonging to me in which it can
write.)

-- 
<kragen@pobox.com>       Kragen Sitaker     <http://www.pobox.com/~kragen/>
The Internet stock bubble didn't burst on 1999-11-08.  Hurrah!
<URL:http://www.pobox.com/~kragen/bubble.html>
The power didn't go out on 2000-01-01 either.  :)