Re: 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.  :)