Environments: a flexible binding mechanism to support system evolution

A language construct called 'environment' is introduced. Environments are collections of bindings and have first class data rights. As such, they provide the programmer with a type-secure mechanism to control bindings in the system. It is shown that environments can be combined to provide a naming graph that subsumes the functions of file systems in traditional operating systems. Such a mechanism provides a conceptually simple framework for manipulating bindings that permits the control of complexity and system evolution from within a unified language framework.<<ETX>>