typed lambda-calculus

typed lambda-calculus

(theory)(TLC) A variety of lambda-calculus in which everyterm is labelled with a type.

A function application (A B) is only synctactically valid ifA has type s --> t, where the type of B is s (or an instanceor s in a polymorphic language) and t is any type.

If the types allowed for terms are restricted, e.g. toHindley-Milner types then no term may be applied to itself,thus avoiding one kind of non-terminating evaluation.

Most functional programming languages, e.g. Haskell, ML,are closely based on variants of the typed lambda-calculus.