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