Answers:
是的,当然。根据设计,许多类型的Lambda演算仅接受强归一化项,因此它们无法表达任意计算。但是类型系统可以是任何您喜欢的类型。使其足够广泛,您就可以表达所有确定性计算。
包含lambda演算的图灵完备片段的琐碎类型系统是接受每个类型都正确的术语(具有top类型)的系统。
实际上,静态类型函数编程语言的核心是类型化lambda演算,它可以使固定点组合器也具有良好的类型。例如,先从简单类型λ演算(或ML类型系统或系统; F。或者你选择的任何其他类型的系统),增加一条规则,使得一些不动点组合子像类型良好。 Γ ⊢ ˚F :Ť → Ť 上面介绍的规则相当笨拙,因为它们像Y
坚持纯lambda演算,一个有趣的类型系统是具有交集类型的lambda演算。
交叉点类型在归一化方面具有有趣的属性:
有关为何交集类型具有如此显着范围的见解,请参阅具有并集类型的lambda项的表征。
因此,您有一个定义图灵完备语言的类型系统(因为每个术语的类型都很好),并且具有终止计算的简单特征。当然,由于这种类型的系统具有归一化的特征,因此这是不确定的。