小编典典

您不了解 Hindley-Milner 的哪一部分?

all

哪一部分

欣德利-米尔纳

明白吗?


就我而言,答案是……全部!

特别是,我经常在 Haskell 论文中看到这样的符号,但我不知道它是什么意思。我不知道它应该是什么数学分支。

我当然认识希腊字母表中的字母和诸如“∉”之类的符号(这通常意味着某物不是集合的元素)。

另一方面,我以前从未见过“⊢”(维基百科声称它可能意味着“分区”)。我也不熟悉这里的 vinculum 的使用。(通常,它表示分数,但这里似乎并非如此。)

如果有人至少能告诉我从哪里开始寻找理解这片符号海洋的含义,那将很有帮助。


阅读 107

收藏
2022-03-01

共1个答案

小编典典

  • 水平条表示“[上方]暗示[下方]”。
  • 如果 [above] 中有多个表达式,则考虑将它们一起运算;所有 [以上] 必须是真实的,以保证 [以下]。
  • :意味着有类型
  • 手段. (同样的意思是“不在”。)
  • Γ通常用于指代环境或上下文;在这种情况下,它可以被认为是一组类型注释,将标识符与其类型配对。因此x : σ ∈ Γ意味着环境Γ包含x有类型的事实σ
  • 可以读作证明或确定。Γ ⊢ x : σ表示环境Γ确定x有类型σ
  • ,是一种将特定的附加假设包含到环境中的方法Γ
    因此,Γ, x : τ ⊢ e : τ'意味着 environment Γ,以及具有 type的附加的、压倒一切的假设x``τ,证明了e具有 type τ'

根据要求:运算符优先级,从高到低:

  • 特定于语言的中缀和混缀运算符,例如λ x . e, ∀ α . σ, and τ → τ', let x = e0 in e1, 和用于函数应用的空格。
  • :
  • and
  • , (left-associative)
  • 分隔多个命题的空格(关联)
  • 单杠
2022-03-01