next up previous
Next: References Up: CLANGER : an interpreted Previous: 8 Related Work

9 Conclusion

CLANGER is the ``shell from hell''. It allows arbitrary bits of the system to be tweaked from the command line. A CLANGER interpreter running as a privileged Nemesis domain with a full root name space has immense power over every component in the operating system. It can be used to prototype quite low-level system components.

By contrast, by restricting the interfaces available to an interpreter at startup, the same implementation can function as a safe command-line interpreter. Since the interpreter need not understand system interface types a priori, it does not need to be changed as new components are added or as interfaces change.

This flexibility extends to embedding the interpreter in applications, by means of specialised name spaces. It fits in naturally with the ``build packages, then tools'' philosophy of application building [10]: with CLANGER, the easiest way to build a tool is to provide code with well defined linkage-level interfaces in the first place. Once a programmer has done this, the command language really does come for free.



T. Roscoe