MIME-Version: 1.0
Server: CERN/3.0
Date: Sunday, 24-Nov-96 23:08:12 GMT
Content-Type: text/html
Content-Length: 4029
Last-Modified: Tuesday, 24-Oct-95 13:55:49 GMT
The Chains Programming Language
The
programming language is a
computer language whose basic data structures and operations are based
on mathematical objects such as vertices, cells,
cell complexes, chains, cochains, and
operators such as boundary and coboundary.
Together these data types provide the ability to represent a geometric
shape or other topological structure with an algebraic formula. Once a
topological or geometric structure is expressed algebraically, it
becomes possible to operate on geometry and topology with rigorously
defined algebraic operations, which in turn makes it possible to
systematically compute topological and geometric quantities and
properties. Here is an example of a
complex, chain and their algebraic and graphical representations.
<About the logo>
<Quotation>
< Chains theme song (30 second audio)>
Applications of the
Lanugage
The
language formalizes the
relationship between geometry (form) and physical behavior (function),
which is fundamental to most engineering activities.
has applications in computer aided
design (CAD), scientific computing, and distributed and parallel
computation.
An algebraic-topological programming language
[Pal94] [PS93] is a
computer language that has algebraic-topological objects such as
vertices, simplexes, complexes, and
chains as it's basic data types. The power of
lies in the
ability to write an expression that has an evaluable topological (or
geometric) semantics. This provides the ability to ``program'' at a
much higher semantic level.
The relationship between the
language and
algebraic-topology is similar to that between the MATLAB language and
matrix algebra, or between CSG[RV81] and
geometry.
Rick Palmer / rick@cs.cornell.edu