Computer Dictionary Online

Medical Dictionary   Law Dictionary   Legal Dictionary   Website Design

0  1  2  3  4  5  6  7  8  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 

polymorphic lambda-calculus

(Or "second order typed lambda-calculus"). An extension of typed lambda-calculus allowing functions which take types as parameters. E.g. the polymorphic function "twice" may be written:

	 	twice = / t .   (f :: t -> t) .  (x :: t) . f (f x)

(where "/" is an upper case Greek lambda and "(v :: T)" is usually written as v with subscript T). The parameter t will be bound to the type to which twice is applied, e.g.:

		twice Int

takes and returns a function of type Int -> Int. (Actual type arguments are often written in square brackets [ ]). Function twice itself has a higher type:

		twice :: Delta t . (t -> t) -> (t -> t)

(where Delta is an upper case Greek delta). Thus / introduces an object which is a function of a type and Delta introduces a type which is a function of a type. Polymorphic lambda-calculus was invented by Jean-Yves Girard in 1971 and independently by John C. Reynolds in 1974.


Contact the Computer Dictionary Online  ::  Link to the Computer Dictionary Online  ::  Disclaimer for Computer Dictionary Online

Computer Dictionary Online
Copyright © 2017