辛德雷-米纳是一种系统,该系统是基础型的系统的许多知名的功能编程语言。达马斯-米纳是一种算法,推断(中推导?) 在辛德雷-米尔纳类型的系统。

维基百科 介绍算法,尽我所知,数额为一个字:"统一。" 是所有需要它吗?如果是这样,这意味着有趣的部分是类系统本身不是类型推理系统。

如果达马斯-米尔纳多于统一,我想说明的达马斯-米诺,包括一个简单的例子,最理想的是,一些代码。

此外,这种算法是经常说到做的类型推理。这真的是一个推理的系统?我以为这只是推断的类型。

相关的问题:

有帮助吗?

解决方案

Damas米诺只是一个结构使用的统一。

当它递归入一个lambda表达它构成了一个新的变量名称。当你在一个分期,找到那个变量使用的方式,将需要一定的类型,它记录了统一的变量和类型。如果它曾经试图统一两种,不要让感,像在说一个单独变量是一个整数和一个功能自一个->b,然后骂你做坏事。

此外,这种算法是经常说到做的类型推理。这真的是一个推理的系统?我以为这只是推断的类型。

推断的种类型的推断。检查看到该类型的注释是有效期为一个定期的正式检查。他们是不同的问题。

如果是这样,这意味着有趣的部分是类系统本身不是类型推理系统。

这是常说,辛德雷-米诺式的种类型的系统是平衡的上风口浪尖。如果添加了更多的功能变得不可能推断的类型。此类系统的扩展,可层顶部的一个辛德雷-米诺式的种类型的系统,而不破坏其推理特性是真的很有趣的部分的现代功能的语言。在某些情况下,我们的混合类型推理和类型的检查,例如在Haskell一个很大的现代化的扩展不能被推断,但是可以进行检查,所以他们需要的类型说明先进的功能,像多态递归。

其他提示

维基百科描述的算法,尽我所知,数额为一个字:"统一。" 是所有需要它吗?如果是这样,这意味着有趣的部分是类系统本身不是类型推理系统。

请参考,有趣的一部分,在达马斯-米尔纳类型推理算法W是,它推断出的最常见类型的可能。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top