Best Online Dictionary

« [ Back to Home ] »
<< Return to Computer Dictionary Home
 

.

 

Computer Dictionary Online

Search Computer Term Definition

Web Bestonlinedictionary.com

[ Home ] [ Law Dictionary ] [ Medical Dictionary ] [ Computer Dictionary ]

Computer Dictionary

A to Z Computer Terms Dictionary, Definitions Search

| 0-9 | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q |
|
R | S | T | U | V | W | X | Y | Z |
 

 

type inference definition

<programming> An algorithm for ascribing types to expressions in some language, based on the types of the constants of the language and a set of type inference rules such as

	f :: A -> B,  x :: A
	---------------------  (App)
	      f x :: B

This rule, called "App" for application, says that if expression f has type A -> B and expression x has type A then we can deduce that expression (f x) has type B. The expressions above the line are the premises and below, the conclusion. An alternative notation often used is:

	G |- x : A

where "|-" is the turnstile symbol (LaTeX \vdash) and G is a type assignment for the free variables of expression x. The above can be read "under assumptions G, expression x has type A". (As in Haskell, we use a double "::" for type declarations and a single ":" for the infix list constructor, cons).

Given an expression

	plus (head l) 1

we can label each subexpression with a type, using type variables X, Y, etc. for unknown types:

	(plus :: Int -> Int -> Int)
		(((head :: [a] -> a) (l :: Y)) :: X)
		(1 :: Int)

We then use unification on type variables to match the partial application of plus to its first argument against the App rule, yielding a type (Int -> Int) and a substitution X = Int. Re-using App for the application to the second argument gives an overall type Int and no further substitutions. Similarly, matching App against the application (head l) we get Y = [X]. We already know X = Int so therefore Y = [Int].

This process is used both to infer types for expressions and to check that any types given by the user are consistent.

See also generic type variable, principal type.

(1995-02-03)

 


Nearby terms: typed lambda-calculus « TypedProlog « typeface « type inference » type scheme » typo » typographical error
   

 

 
 
<< Return to Computer Dictionary Home Page
 


 

computer dictionary, computer terms dictionary, online computer dictionary, computer definition dictionary online, microsoft computer dictionary fifth edition, computer lingo dictionary, computer terminology dictionary, computer computer dictionary dictionary internet internet terms terms, barrons business computer dictionary dictionary internet terms, abbreviation computer dictionary lingo, computer dictionary edition new tenth websters world, computer dictionary with terms and definition, computer science dictionary, american computer dictionary house language random sign websters, dictionary computer internet terms, microsoft computer dictionary, computing dictionary

[ Home ] [ Law Dictionary ] [ Medical Dictionary ] [ Computer Dictionary ]
 

Advertisers : www.hobbyprojects.com, www.sciencelobby.com, www.hotgamecheater.com,
www.indianfoodrecipes.net www.joyeemukherjee.com, www.beautytipsforwomen.net

 

Best Online Dictionary .com

 

www.bestonlinedictionary.com Copyright ® All Rights Reserved