The rules that apply to the data types in a programming language. Every language supports some number of data types (binary, text string, floating point, etc.) that are processed by the instructions.