ATerm

An ATerm (Annotated Term) is both an abstract data type designed for the representation and manipulation of tree-like data structures and a set of formats for exchanging this data between distributed applications.

An ATerm can be:

An ATerm is immutable once created, and is in general represented internally as a Direct Acyclic Graph (DAG), which saves both space and time by avoiding unnecessary duplications. The primary implementation of the ATerm library is in the C language, but there are implementations of the library in the Java and Haskell languages also. ATerm library was adapted to into the Python language.

For more information see: