(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 an instanCe 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 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. (1995-03-25)