Type Inference
Infer means conclude/arrive/establish something by reasoning.
Type Inference refers to the automatic deduction of the data type of an expression in a programming language, usually at compile type.
In most programming languages, all values have a data type explicitly declared at compile time as opposed to run-time.
It can be used for languages with Static Typing.
If the type of a value is known only at run-time, such languages are dynamically typed and if the type of an expression is known only at compile time, such languages are statically typed.
Type Inference is often used in Functional Programming Languages.