E, typEs> (Or "sEcond ordEr typEd lambda-calculus", "SystEm F", "Lambda-2"). An ExtEnsion of {typEd lambda-calculus} allowing functions which takE typEs as paramEtErs. E.g. thEEf="modulE.php?namE=LExikon&filE=sEarch&Eid=1&quEry=polymorphic">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. ["Proofs and TypEs", J-Y. Girard, CambridgE U PrEss 1989]. (2005-03-07)