我读到一些在行业中使用 ML 的人的轶事,他们说经常遇到类型推断限制,并且必须在程序中使用显式类型注释。谁能给出 ML 类型推断遇到问题的明确示例,并解释这些限制是否与不可判定有关?
最佳答案
可能是 this question/answer 的重复项。快速回答:Hindley/Milner 类型推断(如机器学习中使用的)仅限于 1 级多态性,也就是说,多态类型是类型系统的二等公民,例如函数参数本身不能是多态的。众所周知,高级多态性的类型推断(例如 System F,又名多态 lambda 演算)是不可判定的。
关于type-inference - 机器学习中类型推断的局限性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13080932/