Type Inference

Type inference refers to the automatic deduction of the type of an expression in a programming language. If some, but not all, type annotations are already present it is referred to as type reconstruction. The opposite operation of type inference is called type erasure.

It is a feature present in some strongly statically typed languages. It is often characteristic of, but not limited to, functional programming languages in general. Some languages that include type inference are ML, OCaml, Haskell, Scala, D, Clean, Opa and Go. It has lately been added (to some extent) to Visual Basic (starting with version 9.0), C# (starting with version 3.0) and C++11. It is also planned for Perl 6. The ability to infer types automatically makes many programming tasks easier, leaving the programmer free to omit type annotations while still permitting type checking.

Read more about Type Inference:  Nontechnical Explanation, Technical Description, Example, Hindley–Milner Type Inference Algorithm

Famous quotes containing the words type and/or inference:

    We have two kinds of “conference.” One is that to which the office boy refers when he tells the applicant for a job that Mr. Blevitch is “in conference.” This means that Mr. Blevitch is in good health and reading the paper, but otherwise unoccupied. The other type of “conference” is bona fide in so far as it implies that three or four men are talking together in one room, and don’t want to be disturbed.
    Robert Benchley (1889–1945)

    I shouldn’t want you to be surprised, or to draw any particular inference from my making speeches, or not making speeches, out there. I don’t recall any candidate for President that ever injured himself very much by not talking.
    Calvin Coolidge (1872–1933)