<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
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