Type
Typing in general means that the choice of possible data structures manipulated by a program can be conceptually divided into groups of objects with some homogeneity (e.g. integers, floating-point numbers, lists, arrays, hash-tables, etc.); the term for these groups is called a type.A variable's type is the upper bound of the range of values that a variable can assume during the execution of a program.
Depending on the type of an object, different interfaces will be available to interact with it (numbers are subject to arithmetic operations; lists can be deconstructed into head and tail; functions can be applied; etc.), and different algorithms will be used to implement common interfaces (adding two integers is not same as adding two floating-point numbers).
This page is linked from: Axiom Benjamin C. Pierce Clean Component Object Model Coq Dependent Types Foreign Function Interface Lava Lego Logic Self TAL Type System