在并发库GHC.Conc中有一个名为的函数numCapabilities.它的类型是numCapabilities :: Int,它实际上返回一些你通过命令行标志传递的数字(例如,5如果选项是+RTS -N 5).
但是,getArgs(type IO [String]:)基本上相同(它返回未解析的非运行时参数)但不是纯函数.
如果唯一借口是numCapabilities往往需要在纯代码,以什么方式不其他命令行选项不能在纯代码需要?
我缺少什么或者是numCapabilities设计缺陷还是我允许写下面的怪物?
myGetArgs = unsafePerformIO getArgs
Run Code Online (Sandbox Code Playgroud)