Global description of datagraph representation in Clean

datagraph = that part of the conceptual graph which has not been replaced
            by instructions. (

The datagraph consists of:
1) a representation of the datagraph (structure/values)
A graph consists of a node descriptor plus its arguments. The node descriptor
is stored as a pointer to an entry in the descriptor/module name table. 

The graph is traversed in a top-down left-to-right fashion. Implicit pointers
are used i.e. offsets from the node to its arguments. An arbitrary node can
*not* be accessed, only via its parent. In the case of unboxed arguments: they
are stored directly in the string representation of the parent node. They are
stored together at the end of the string representation of the node.

The descriptor which is linked in contains the information of how many args
are stored.

Sharing is encoded by changing the run-time graph by indirection pointer. If
the algoritm encounters this indirection pointer. It sets the sharing bit in 
the descriptor/module name pointer. What follows is the offset to the already
encoded shared node.

The (partially) arity of descriptors is also stored in the pointer to the
descriptor/module name table.

2) a descriptor/module name table


