3.5 The SINGULAR language
SINGULAR interprets commands given interactively on the command line as well as given in the context of user-defined procedures. In fact, SINGULAR makes no distinction between these two cases. Thus, SINGULAR offers a powerful programming language as well as an easy-to-use command line interface without differences in syntax or semantics.
In the following, the basic language concepts such as commands, expressions, names, objects, etc., are discussed. See Procedures, and Libraries, for the concepts of procedures and libraries.
In many aspects, the SINGULAR language is similar to the C programming language. For a description of some of the subtle differences, see Major differences to the C programming language.
Elements of the language
The major building blocks of the SINGULAR language are expressions, commands, and control structures. The notion of expressions in the SINGULAR and the C programming language are identical, whereas the notion of commands and control structures only roughly corresponds to C statements.
Other notational conventionsFor user-defined functions, the notions of "procedure" and "function" are synonymous.
As already mentioned above, functions without return values are called commands. Furthermore, whenever convenient, the term "command" is used for a function, even if it does return a value.