1. An apparatus comprising: a processor; a computer readable memory; a user interface to receive user inputs and to display outputs to a user; and wherein: the computer readable memory contains a series of computer-executable instructions to be executed by the processor which enable the formulation of a mathematical expression by the user via the user interface, the mathematical expression comprising a selection of objects from a library of object types contained in the computer readable memory, the object types comprising primitive objects and non-primitive objects, wherein non-primitive objects have at least one field which in turn can host additional objects, and primitive objects have no fields, and wherein: the mathematical expression formulated by the user is defined by a computer readable data structure generated by the series of computer-executable instructions, and is stored in the computer readable memory; each object and each field is defined by a mathematical significance assigned thereto within the series of computer-executable instructions; the computer readable data structure uniquely identifies each object and each field, and includes pointers to define nesting of the objects and the fields in the mathematical expression; and the series of computer-executable instructions include a series of steps to identify the user inputs with at least some of the objects, and to display the mathematical expression represented by the data structure via the display.