什么是SML的类型系统的正式名称?

时间:2014-07-25 15:59:05

标签: types computer-science sml

到目前为止,我认为SML是简单类型lambda演算的一种方便实现。学习什么是简单类型的lambda演算是,我知道它不能类型检查递归函数。

我了解到存在简单类型lambda演算的概括,名为SystemF.SystemF是多态的,具有函数返回类型,这可能会以某种方式考虑SML的函子,但SystemF(根据我的东西)已读过),无法对无限递归进行类型检查,而这可以通过SML轻松实现:

fun r x: int = (r x): int   (* Type‑checks *)
val y = r 0                 (* Infinite loop *)

因此,如果SML的类型系统既不是简单的类型系统也不是SystemF,它是什么(正式)?或者我错了,这是两者之一?

1 个答案:

答案 0 :(得分:5)

我相信这是一个Hindley-Milner类型系统。