我想了解类型检查/算法的工作原理。它非常复杂,而且有很多案例。是否有任何好的教程/文档(我知道语言规范,但IMO,它太难阅读)。
我只想了解Scala的类型推理如何在幕后工作的细节。
答案 0 :(得分:4)
实际上并不是很复杂。在Odersky / Spoon / Venners的书“Scala编程”(第1版;第2版,我相信它是第16.10节)的第16.9节中可以找到非常简洁的描述:
http://www.artima.com/pins1ed/working-with-lists.html#16.9
因此,如果这太基础了,也许以下文章可以帮助您:
You can find an accessible PDF version通过Google学术搜索。
或者您可能希望在https://github.com/scala/scala/blob/2.12.x/src/compiler/scala/tools/nsc/typechecker/Infer.scala中查看Scala 2.12.x的来源。