Typing discipline: Typed

A programming language is typed if the specification of each operation includes the datatypes which can be agruments of this operation and forbids applying this operation to the rest of datatypes. Attempts to perform an operation on prohibited datatypes result in an error (for type-safe languages) or in undefined behaviour (for type-unsafe ones).

Typed languages are the contrast of untyped languages.

Programming languages that uses this typing discipline: