【发布时间】:2016-05-02 15:02:08
【问题描述】:
由于 F# 使用 type inferencing 而类型推断使用 type rules,因此在哪里可以找到表示为 inference rules 的 F# 类型规则。我怀疑它们没有发布、容易定位,甚至不能作为推理规则使用,这就是我要问的原因。
谷歌搜索 F# type rules 没有返回任何相关内容。
搜索F# spec 给出section 14 - Inference Procedures 的解释,但没有给出实际规则。
我知道我可以通过阅读 F# 源代码 (Microsoft.FSharp.Compiler.ConstraintSolver) 来提取它们,但这可能需要一些时间来提取和验证。此外,虽然我精通 Prolog,它在理解约束求解器方面为我提供了一些帮助,但我仍然需要学习它来阅读它。
【问题讨论】:
-
我找到了三个带有
ConstraintSolver.fs的位置,并且都相同,FSharp、FSharp.Compiler.Service 和visualfsharp -
感兴趣的:TypeChecker.fs
标签: f# type-inference typing