gpt4 book ai didi

haskell - 在 Haskell 中避免部分函数比其他语言更容易吗?

转载 作者:行者123 更新时间:2023-12-02 02:52:25 25 4
gpt4 key购买 nike

我们被敦促到 avoid partial functions Haskell 似乎比其他语言更强调。

这是因为部分函数在 Haskell 中比其他语言更常见(c.f. this question ),还是在其他语言中避免它们是不切实际的?

最佳答案

与其他语言相比,Haskell 中的部分函数明显更差的一个原因是默认情况下缺少堆栈跟踪。当你打电话时,例如head在空列表中,您只会得到 Prelude.head: empty list .祝你好运找出 head 的哪个电话是问题还是空列表来自哪里!当然,它甚至可能不在您的代码中,而是在您正在使用的某些库中。

要获得堆栈跟踪,您需要在启用分析的情况下进行编译或使其显式可用:参见 https://hackage.haskell.org/package/base-4.9.1.0/docs/GHC-Stack.htmlhttps://wiki.haskell.org/Debugging .并且这两个选项都出现在相对较新的 GHC 版本中(并且正在改进它们)。

关于haskell - 在 Haskell 中避免部分函数比其他语言更容易吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45093146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com