真实世界的Haskell代码不能编译?
我正在尝试编译Real World Haskell中的一些代码 - 第24章LineCount.hs。
我没有对代码做任何修改。
但是,当我这样做时:
ghc -O2 --make -threaded LineCount.hs
(按照书中的说明),我得到这样的信息:
MapReduce.hs:6:7: Not in scope: `rnf'
我可能会做错什么?
通过快速搜索发现,过去的软件包并行和严格并发性存在一些问题,重新安装它们可以解决问题。 但是,我尝试过,并没有奏效。 此外,有人指出,该问题在2010年某个时候得到了修正:https://groups.google.com/forum/?fromgroups =#!msg / happs / gOieP4xfpNc / nrasm842JlUJ
注意:在编辑同一章节中的其他文件时,我会遇到各种其他错误。 例如,在编译Strat.hs时,我得到:Module Control.Parallel.Strategies' does not export
parZipWith'。 在编译LineChunks.hs时,我得到:Module Control.Parallel.Strategies' does not export
rnf'。
坦率地说,作为一名Haskell新手程序员,当我开始修改代码时,我预计会遇到麻烦 - 但我没想到会从书中遇到代码问题!
该函数不再被称为rnf
。 现在叫做rdeepseq
。 只需更换它。 :)
您可以通过搜索“控制并行策略hackage”在线查找parallel
软件包的内容,或点击此处。