gpt4 book ai didi

haskell - 为什么 main 的返回不是退出代码?

转载 作者:行者123 更新时间:2023-12-02 06:46:56 26 4
gpt4 key购买 nike

C 和 C++ 允许我们从 main 返回退出代码。为什么 Haskell 不这样做呢?在我看来,这很简单;只需要 main::IO Int 而不是 IO t

我意识到以下行为不会像 C 程序员所期望的那样:

main :: IO Int
main = do
return 1 -- Execution continues, thanks to (>>)
putStrLn "Unreachable?"
return 2 -- Exit code 2?

这种退出代码可能很难正确执行,但实际上有多棘手?对我来说似乎比必须导入 System.Exit 更好。

最佳答案

这不值得。 99% 的 Haskell 程序只会执行 return 0,那是纯粹的样板。当异常(System.Exit 利用)已经完成同样出色的工作时,它为错误添加了一个额外的非常具体的 channel 。您实际需要多久导入一次 System.Exit 以获得细粒度的返回码?

关于haskell - 为什么 main 的返回不是退出代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57368053/

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