Tag: hindley milner

是什么让Haskell的types系统比其他语言的types系统更“强大”呢?

阅读Scalatypes系统与Haskell的缺点? ,我不禁要问:具体来说,Haskell的types系统比其他语言的types系统(C,C ++,Java)更强大。 显然,即使Scala也不能像Haskell的types系统那样执行一些相同的function。 究竟是什么使Haskell的types系统(Hindley-Milnertypes推断)如此强大? 你能给个例子吗?

什么是Hindley-Milner?

我遇到了Hindley-Milner这个名词,我不确定是否掌握了它的意思。 我读过以下post: Steve Yegge – dynamic语言反击 Steve Yegge – 木偶奇遇记问题 Daniel Spiewak – 什么是Hindley-Milner? (为什么它很酷?) 但是这个词在维基百科上没有单一的条目,通常给我一个简明的解释。 注 – 现在已经添加了一个 它是什么? 哪些语言和工具实现或使用它? 你能提供一个简洁的答案吗?

“米尔纳 – 辛德雷的哪一部分你不明白?

我现在找不到,但我发誓曾经是一件以不朽名言为特色的T恤衫: 什么部分 你不明白吗? 就我而言,答案就是……所有这一切! 特别是,我经常在Haskell的论文中看到这样的符号,但是我不知道它的意思。 我不知道它应该是什么math分支。 我当然认识到希腊字母的字母,象“∉”这样的符号(通常意味着某些东西不是集合中的一个元素)。 另一方面,我从来没有见过“⊢”( 维基百科声称它可能意味着“分区” )。 我也不熟悉在这里使用的vinculum。 (通常它表示一个分数,但在这里似乎不是这种情况。) 我想,SO不是解释整个Milner Hindleyalgorithm的好地方。 但是如果至less有人能告诉我从哪里开始去理解这个符号之海意味着什么,这将是有帮助的。 (我相信我不能是唯一想知道的人…)