7

Real World Haskell - Chapter 24. LineCount.hs でいくつかのコードをコンパイルしようとしています。

コードに変更を加えていません。

しかし、私がするとき:

ghc -O2 --make -threaded LineCount.hs

(本の指示に従って)、私はメッセージを受け取ります:

MapReduce.hs:6:7: Not in scope: `rnf'

私は何を間違っているのでしょうか?

クイック検索では、過去にパッケージの parallel および strict-concurrency に問題があり、それらを再インストールすると問題が解決することがわかりました。しかし、私はそれを試しましたが、うまくいきませんでした。さらに、その問題は 2010 年に修正されたことに注意して ください。

注: 同じ章の他のファイルをコンパイルすると、他のさまざまなエラーが発生します。たとえば、Strat.hs をコンパイルすると、次のようになります。 Module Control.Parallel.Strategies' does not exportparZipWith'. LineChunks.hs をコンパイルすると、次のようになります。 Module Control.Parallel.Strategies' does not exportrnf'.

正直なところ、初心者の Haskell プログラマーとして、コードを変更し始めると問題が発生することを予想していましたが、本のコードで問題が発生するとは思っていませんでした。

4

1 に答える 1

10

関数は呼び出されなくなりましrnfた。今呼ばれrdeepseqました。交換するだけです。:)

パッケージの内容は、parallel「コントロール パラレル ストラテジー ハック」で検索するか、ここをクリックしてオンライン見つけることができます。

于 2013-03-01T00:32:52.300 に答える