Type
<theory, programming> (Or "data type") A set of values from which a
variable, constant,
function, or other
expression may take its value.
A type is a classification of data that tells the
compiler or
interpreter how the programmer intends to use it.
For example, the process and result of adding two variables differs greatly according to whether they are integers, floating point numbers, or strings.
Types supported by most programming languages include integers (usually limited to some range so they will fit in one
word of storage), Booleans, floating point numbers, and characters.
Strings are also common, and are represented as
lists of characters in some languages.
If s and t are types, then so is s -> t, the type of functions from s to t; that is, give them a term of type s, functions of type s -> t will return a term of type t.
Some types are
primitive - built-in to the language, with no visible internal structure - e.g. Boolean; others are composite - constructed from one or more other types (of either kind) - e.g.
lists, arrays, structures, unions.
Object-oriented programming extends this with classes which encapsulate both the structure of a type and the operations that can be performed on it.
Some languages provide
strong typing, others allow
implicit type conversion and/or
explicit type conversion.