The term "scalar" comes from linear algebra, where it is used to differentiate a single number from a vector or matrix. The meaning in computing is similar. It distinguishes a single value like an integer or float from a data structure like an array. This distinction is very prominent in Perl, where the $ sigil (which resembles an 's') is used to denote a scalar variable and an @ sigil (which ...
terminology - What does it mean when data is scalar? - Software ...
@KilianFoth: I don't think this applies here. "Composite design pattern" would require to wrap the passed parameter in an additional class hierarchy, but additional wrappers is exactly what the OP tries to avoid. Moreover, in Python one can already use a list or a scalar in exchange when calling a function, that is syntactically ok.
It kind of depends on the language. For example, in languages like C and C++, you have a number of built-in scalar types - int, float, double, char, etc. These are "primitive" in the sense that they cannot be decomposed into simpler components. From these basic types you can define new types - pointer types, array types, struct types, union types, etc. Then you have a language like old-school ...
The terms 'scalar type' or 'scalar field' are usually used to contrast them with compound types/fields. A compound type is easiest to define and it is a type that contains multiple distinct elements. These elements can have the same type, in which case the compound is an array or a list, or different types, in which case the compound is typically a struct or a class. A scalar type is a type ...