2013-03-01 13 views
7

私はReal World Haskell - Chapter 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.hをコンパイルすると、私はモジュールControl.Parallel.Strategies' does not export parZipWith 'を取得します。 LineChunks.hsをコンパイルすると、モジュールControl.Parallel.Strategies' does not export rnf 'が得られます。

正直なところ、初心者のハスケルプログラマーとして、いったんコードを修正し始めたら、私は困っていると思っていましたが、本のコードに問題はないと思います!

+0

「Control.DeepSeq」が必要な場合があります。http://www.haskell.org/hoogle/?hoogle=rnf – luqui

+0

インストールしたばかりですが、何も変更されませんでした。 –

+0

@Clarkがあなたの質問に答えなかった場合は、問題のコードを投稿してください。 –

答えて

10

この機能はもはやrnfと呼ばれていません。今はrdeepseqと呼ばれています。ちょうどそれを置き換えます。 :)

オンラインでparallelパッケージの内容を確認するには、「control parallel strategies hackage」を検索するか、​​をクリックしてください。

+0

それはうまくいった!どうもありがとう!これは私が今までにコンパイルした最初のHaskellコードであり、それは悪いスタートにはなりません。 :P –

+1

問題ありません!ハスケルは楽しいことができます。がんばり続ける! –

+1

RWHエラッタページはどこかにありますか? mtl 1.x - > 2.0の移行により、私はしばらくの間トラックから私を捨てました。 – yatima2975

関連する問題