Skip to content

State annotations need more restrictions

The idea of the annotation is that it represents a state. Hence, the values of the arguments should be literals. Thus, we should add the following constraints:

  • The argument values must be statically evaluable.
  • The argument values must not produce evaluation errors when they are evaluated.
  • The argument values must be identical to their evaluation result.
  • The argument values or parts of values (in case of containers) may only be of the types: bool, int, real, string, tuple, list, set, dict.

With these restrictions in place, tools that process annotations can depend on them.

Edited by Dennis Hendriks