An expression is a compact notation for a combination of operations that go together to form a result.

It is convenient to include single variables, values, function calls and single operations as types of expressions. This simplifies defintions and descriptions. The reason is that all results in values or variables.

## Types

Expressions can be of the following types:

### Special type of expression

- Parenthesis (see below for more information)

### Technically included as expressions for convenience

## Parenthesis

Parenthesis can be used to around a subexpression to ensure that this subexpression is evaluated as a whole before any further evaluation.

Parenthesis can also be used for increased readability.

## Mixing expressions

Expressions of different types can be mixed together in a single expression. To nest an expression of one type in an expression of another type, the included expression must be enclosed in parenthesis.

## Depending on the evaluation process

If a function is called in an expression then it is illegal to change the value of the input parameter. The reason is it creates a dependency on the evaluation process of the expression. Such dependencies are not allowed in the ProgsBase system.

## T-Tables and T-Forms

T-Tables and T-Forms are useful for understanding expressions.

For more information about T-Tables and T-Forms, see T-Tables.