This package includes the basic classes for the intermediate representation (IR) used in the fluid project. There are basic facilities for nodes, attributes (known as slot infos), slots and compound data structures (homogenous sequences and heterogenous records). For more complex data structures, graphs and trees, see {@link fluid.tree}. For versioning of slots; see {@link fluid.version}

The basis of the IR are a large number of nodes with identity. There are also a number of attributes, some named, registered and potentially persistent, others anonymous and transient. An attribute that is/will be persistent must have a declared type. An attribute may have a value for any and all nodes. This value may be stored in a slot. All information about a node is represented in its attribute values. For example, in a Java parse node in the IR, the kind of node, its parent and children as well as binding and type information is all in its attribute values.

Here is a thematic list of the classes and interfaces in this package: