Ich versuche, Code in Real World Haskell zu kompilieren - Kapitel 24. LineCount.hs.Real World Haskell-Code wird nicht kompiliert?
Ich habe keine Änderungen am Code vorgenommen. Jedoch
, wenn ich das tue:
ghc -O2 --make -threaded LineCount.hs
(wie im Buch angegeben), bekomme ich die Meldung:
MapReduce.hs:6:7: Not in scope: `rnf'
Was könnte ich falsch gemacht?
Eine schnelle Suche ergab, dass es in der Vergangenheit einige Probleme mit parallelen und strikten Concurrency-Paketen gab und dass eine Neuinstallation das Problem beheben würde. Allerdings habe ich das versucht und es hat nicht funktioniert. Darüber hinaus wird dort festgestellt, dass dieses Problem irgendwann im Jahr 2010 behoben wurde: https://groups.google.com/forum/?fromgroups=#!msg/happs/gOieP4xfpNc/nrasm842JlUJ
Hinweis: Ich bekomme verschiedene andere Fehler beim Kompilieren anderer Dateien im selben Kapitel. Zum Beispiel, beim Kompilieren von Strat.hs bekomme ich: Modul Control.Parallel.Strategies' does not export
parZipWith '. Beim Kompilieren von LineChunks.hs bekomme ich: Modul Control.Parallel.Strategies' does not export
rnf '.
Ehrlich gesagt, als Anfänger Haskell Programmierer ich erwartete, in Schwierigkeiten zu geraten, sobald ich begann, Code zu ändern - aber ich hatte nicht erwartet, Probleme mit Code aus einem Buch zu haben!
Sie könnten brauchen 'Control.DeepSeq' http://www.haskell.org/hoogle/?hoogle=rnf – luqui
Ich habe gerade installiert, aber es hat nichts geändert. –
Wenn @Clark Ihre Frage nicht beantwortet hat, geben Sie bitte den entsprechenden Code ein. –