Is there a word, ?????, to describe programming languages
(or other software) whereby abstractions or features
have a tendency to be universally applicable?
For example, in Python the function repr() shows the
textual representation of something can be applied to
just about anything, even functions. C# has something
similar, the ToString() method which can be overridden by
However, in Haskell, the analogous mechanism, 'show',
cannot be applied to functions. Thus, Haskell is less
????? than Python in this respect.
????? promotes 'conceptual economy', and is generally
a good thing, as less concepts make for faster learning
and tends to promote elegance. The extreme would be Scheme,
in which function application is virtually the only
feature provided. Arguably, Scheme is proof that *too much*
conceptual economy is not necessarily good (everyone
needs a bit of sugar).
I originally thought the adjective 'orthogonal' referred
to this, but it turns out orthogonal means mutually
exclusive or non-overlapping. i.e. Perl, with its TMTOWTDI
principle, is a most unorthogonal language.