Author(s): Holt CM
Abstract: A program can be understood as an object in a topological space, which has (one or more) interfaces which can be linked to its exterior. Its contents are also objects with interfaces, which are linked to each other and to the interfaces of the object. When the internal structure of a program is non-linear, it can be easier to understand at least parts of it by viewing it as a 2D or 3D map which represents its component objects and their links in some metaphor, e.g. cities linked by roads in countries or atoms linked by bonds in molecules. The formal view that leads to this approach is discussed.
Keywords: functional programming interfaces, objects, specification