Troupe is a functional programming language that provides the unique combination of decentralized programming, information-flow control (IFC), and a dynamic type system. Decentralization supports the creation of open self-organizing distributed systems. IFC ensures that secret information is not by accident shared with unwanted parties (confidentiality) nor that untrusted nodes may affect ones code execution (integrity). A dynamic type system permits the dynamic behaviour needed by a truly open and updateable system.
This very combination of language features poses new unique challenges. This abstract presents the key challenge of a secure cache needed for adding a module system to Troupe and showcases an example of a computing pattern related to code mobility.