
Type Checking 173
However, languages that support type inference to the degree the above example illustrates rarely
support such implicit type conversions. Such a situation shows the difference between type inference,
which does not involve type conversion, and implicit type conversion, which forces data to a different
data type, often without restrictions.
Type inference is the ability to automatically deduce, either partially or fully, the type of an
expression at compile time. The compiler is often able to infer the type of a variable or the type
signature of a function, without explicit type annotations having been given. In many cases, ...