Tôi đang cố gắng biên dịch một số mã trong Real World Haskell - Chương 24. LineCount.hs.Mã Haskell trong thế giới thực không biên dịch?
Tôi chưa thực hiện bất kỳ thay đổi nào đối với mã.
Tuy nhiên, khi tôi làm:
ghc -O2 --make -threaded LineCount.hs
(theo hướng dẫn trong cuốn sách), tôi nhận được thông báo:
MapReduce.hs:6:7: Not in scope: `rnf'
Những gì tôi có thể làm sai?
Tìm kiếm nhanh cho thấy có sự cố với các gói song song và đồng thời nghiêm ngặt trong quá khứ và việc cài đặt lại chúng sẽ khắc phục được sự cố. Tuy nhiên, tôi đã thử nó và nó không hoạt động. Hơn nữa, lưu ý rằng vấn đề đó đã được khắc phục vào năm 2010: https://groups.google.com/forum/?fromgroups=#!msg/happs/gOieP4xfpNc/nrasm842JlUJ
Lưu ý: Tôi gặp phải các lỗi khác khi biên dịch các tệp khác trong cùng một chương. Ví dụ, khi biên dịch Strat.hs tôi nhận được: Module Control.Parallel.Strategies' does not export
parZipWith '. Khi biên dịch LineChunks.hs tôi nhận được: Module Control.Parallel.Strategies' does not export
rnf '.
Thành thật mà nói, với tư cách là một lập trình viên mới của Haskell, tôi dự kiến sẽ gặp rắc rối khi tôi bắt đầu sửa đổi mã - nhưng tôi không ngờ gặp rắc rối với mã từ một cuốn sách!
Bạn có thể cần 'Control.DeepSeq' http://www.haskell.org/hoogle/?hoogle=rnf – luqui
Tôi vừa cài đặt, nhưng nó không thay đổi gì cả. –
Nếu @Clark không trả lời câu hỏi của bạn, vui lòng đăng mã được đề cập. –