type inference | Contact Us
 

WK :: type inference ::
[ W E B   K N O W L E D G E   O N L I N E :: type inference ]
 Resources ::
WB
WBT
Addons
Baby
Cooking
Books
Runway
Legal
DVD
Electronics
Outdoor Living
Kitchen
Change
Magazines
Pop Music
PCs
Computers
Cameras
Software
Toys
Tools
Video
Computer


[W/K] :: type inference


1 definition 
 for type inference
From The Free On-line Dictionary of Computing (27 SEP 03) :

  type inference
       
           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)
       
       


Request more information on type inference
[W/K]
King of Torts
Perricone Prescription
Atkins
Linksys
Art
SanDisk
Cooking
Kids
Videos
Bosch
Porter
Strait-Line Laser
Legal
Black and Decker
Leatherman
Logitech Cordless
Home/Office
Religion
Windows XP
EuroPro Shark
Harrisons
Art
Management
Copyright Web Knowledge Online Inc. 1997-2003 - [privacy policy] -