The NOOP experimental Python programming environment
Python is a dynamic language well suited to build a run-time providing adaptive support to distributed applications. Python has dynamic typing where variables are given a type when they are assigned a value. To introduce type safety, interfaces, and a component model in Python NOOP introduces a type language and a way to apply typing to functions (and methods). This type system is described in the first part of this paper. The second part use this type system to create interfaces and a software component model. And finally it is discussed how NOOP can provide adaptive support to distributed applications.
IFI-UITØ Technical Report ; 2013-73