4

我想了解类型检查/算法的工作原理。这很复杂,而且有很多案例。是否有任何好的教程/文档(我知道语言规范,但 IMO,它太难读了)。

我只是想了解 Scala 的类型推断如何在幕后工作的细节。

4

1 回答 1

4

它实际上并不是很复杂。可以在 Odersky/Spoon/Venners 的书 'Programming in Scala' (​​第 1 版;在第二版中我相信是第 16.10 节)的第 16.9 节中找到非常简洁的描述:

http://www.artima.com/pins1ed/working-with-lists.html#16.9


因此,如果这太基本了,也许以下论文可以帮助您:

  • Vincent Cremet、François Garillot、Sergueï Lenglet 和 Martin Odersky,“用于 Scala 类型检查的核心微积分”,载于:计算机科学讲义,2006 年,第 4162/2006 卷,1-23,DOI:10.1007/11821069_1 (Springer)。

您可以通过 Google Scholar找到可访问的 PDF 版本。


或者您可能想在https://github.com/scala/scala/blob/2.12.x/ ​​src/compiler/scala/tools/nsc/typechecker/Infer.scala 中查看 Scala 2.12.x 的源代码。

于 2012-06-30T13:20:07.147 回答