As mentioned before, expressions stored in variables may contain references to other variables which allows to describe dependencies between equations. Since the application may modify variables at any time, depending variables have to change too. Thus, variables are evaluated at time of query. A dependence tree is used to check the dependencies. Circular references are recognized and prevented.
Variables stored in the Input Deck database are not assigned a specific data type. The type of the value and the value itself are determined at runtime by the evaluation module. There are different data types for values: integer numbers, real numbers, complex numbers, real or complex numbers with a unit (quantities), boolean values, and strings. Lists can be used to store sets of data, e.g., a curve or coordinates of points. Since a list is a basic data type lists of lists are possible too resulting in complex data types.
Robert Klima 2003-02-06