Word:
Browse
polymerase
Polymeric
polymeric amide
polymerisation
polymerise
Polymerism
Polymerization
Polymerize
Polymerous
polymethyl methacrylate
Polymnia
Polymnite
Polymonium caeruleum van-bruntiae
Polymorph
polymorphemic
Polymorphic
-- polymorphic lambda-calculus --
Polymorphism
Polymorphosis
Polymorphous
Polymorphy
Polymox
Polymyodae
Polymyodous
Polymyoid
polymyositis
polymyxin
Polyneme
Polynemidae
Polynemoid
Polynesia
Polynesian
Polynesian tattler

polymorphic lambda-calculus

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.

About this site and copyright information - Online Dictionary Home