(TLC) A variety of lambda-calculus iN which every term is labelled with a type. A fuNctioN applicatioN (A B) is oNly syNctactically valid if A has type s --> t, where the type of B is s (or aNiNstaNce or s iN a polymorphic laNguage) aNd t is aNy type. If the types allowed for terms are restricted, e.g. to HiNdley-MilNer types theNNo 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. (1995-03-25)