【发布时间】:2012-01-19 19:58:36
【问题描述】:
Scala 使用基于 System F ω 的类型系统,通常被认为是强规范化的。强归一化意味着非图灵完备性。
尽管如此,Scala 的类型系统是图灵完备的。
与正式算法和系统相比,哪些更改/添加/修改使 Scala 的类型系统图灵完备?
【问题讨论】:
-
有链接/参考资料吗? (对于像我这样的观众:-)
-
系统 F 正在强规范化的事实意味着系统 F 不是图灵完备的。这并不意味着它的类型系统不是。事实上已经证明typechecking an unrestricted System F is undecidable
-
@sepp2k -- 哎呀,图灵完备性最糟糕的事情就是这样。
-
@sepp2k,您引用的结果仅适用于未修饰的 lambda 术语。如果为 lambda 抽象类型变量提供了显式类型,并且如果类型抽象在源代码中是显式的,那么系统 F 的类型检查是轻而易举的——我的学生将其作为家庭作业来完成。
标签: scala types language-design type-systems turing-complete