928得票6回答
Hindley-Milner 的哪个部分你不理解?

我发誓曾经有一件T恤出售,上面印着不朽的话: 你不理解的部分是什么? 对于我来说,答案是......全部! 特别是,在Haskell论文中经常看到这样的符号,但我不知道它们的含义。我不知道它应该属于哪个数学分支。 当然,我认识希腊字母和符号“∉”(通常表示某物不是集合的元素)。...

26得票1回答
Haskell中的Bottom概念

在Haskell中,底部(Bottom)是指任何具有错误、未终止或涉及无限循环的计算,其类型可以是任何类型...这个概念是否只适用于Haskell?我们知道在格理论中,也存在一个Bottom的概念...难道Bottom不应该根据定义的顺序来定义吗?

12得票1回答
写一个指称语义映射函数需要考虑哪些因素?

我对指称语义的概念有些困惑。据我所知,指称语义应该描述特定编程语言中函数和表达式的工作原理。那么,正确描述这些函数及其工作原理所使用的适当形式是什么?“域”究竟是什么,并且如何构建映射函数? 以“当Y时执行X”为例,它的映射函数会是什么呢? 我已经在网上阅读了很多材料,但很难理解。这些描述...

8得票1回答
Haskell的'evaluate'函数会被规约到正常形式(NF)还是弱头正规式(WHNF)?

我理解(我认为)Haskell的seq,通常会减少它的第一个参数到WHNF,并且在GHCi中看到这种行为是可以预期的: λ> let x = (trace "foo" Foo (trace "bar" Bar 100)) in seq x 0 foo 0 然而,尽管 evaluat...

7得票1回答
函数式程序中的终止检查

有没有一些函数式语言可以在类型检查器中指定某些计算是否保证终止?或者,你能否仅通过Haskell实现这一点? 关于Haskell,在Stack Overflow的这个答案中,作者说: “通常的想法是每个Haskell类型都是‘提升的’——它包含⊥。即,Bool对应于{⊥,True,Fals...