SALIERI is a dynamically typed language - the type of an object is solely determined from its current value and when assigning a new value, its type might change. The type system includes the common simple types which are provided by almost every programming language. Unique for SALIERI are its musical types, which allow score level representation of one and multi-voiced musical material. For the realisation of complex data-types, heterogeneous lists can be formed from any other object type. According to the functional programming paradigm upon part of SALIERI is built, there are object types for user-defined and builtin functions, as well as for blocks which make the bodies of control structures and functions.
Strings, sequences and lists share a common serial structure. Therefore many functions and operators is defined analogously on these so-called serial object types.