(Slide 1)

The chains programming language is a computer language whose basic data structures and operations are based on algebraic-topological objects, such as vertices, cells, cell complexes, chains, cochains, and operators, such as the boundary and coboundary operator. The purpose in defining such a language is to exploit the topological structure common to a variety of complex systems, such as physical systems, numerical algorithms, software systems, and so forth.