8

Il compilatore si lamenta di volta in volta su diverse applicazioni di esempio di Haskell parallelo; con questo messaggio:Problema di compilazione di Control.Parallel in Haskell

Could not find module `Control.Parallel.Strategies' 

Il comando del compilatore GHC:

ghc -threaded -i/sudo/dir/par-modules/3 -cpp -DEVAL_STRATEGIES -eventlog --make parFib.hs 

Stessa cosa con più semplice

ghc -O2 --make -threaded parFib.hs 

Cosa dettaglio sto sottovalutando? Mi manca qualche variabile PATH.

Importazioni può apparire così:

module Main where 
import System 
# if defined(EVAL_STRATEGIES) 
import Control.Parallel 
import Control.Parallel.Strategies 
#endif 

Acclamazioni

risposta

15

È necessario installare il pacchetto parallel da Hackage. Nella maggior parte dei setup sane, questo dovrebbe essere semplice come digitare

cabal install parallel # note: not sudo cabal install parallel! 

al prompt dei comandi.

+0

Potresti anche spiegare come è arrivata la luna? =) cabal ha fatto il trucco, grazie! – gorn

+13

@gorn Ad un certo punto della storia della Terra, un pianeta canaglia, più grande di Marte, ha colpito la Terra in un grande colpo. Immediatamente, la maggior parte del corpo canaglia e un pezzo considerevole di Terra furono vaporizzati. La nube si elevò a oltre 13.700 miglia (22.000 chilometri) di altitudine, dove si condensò in innumerevoli particelle solide che orbitavano attorno alla Terra mentre si aggregavano in lune sempre più grandi, che alla fine si unirono per formare la luna. [fonte] (http://news.nationalgeographic.com/news/2004/07/0714_040714_moonfacts.html) =) –

1

Come ha detto Daniel, avrete bisogno del pacchetto parallelo. Tuttavia, se preferisci usare il gestore di pacchetti del tuo sistema (che alcune persone pensano che tu sia should), puoi farlo.

Nota che, almeno nei repository di Fedora, avrai bisogno di ghc-parallel-devel, non solo ghc-parallel to build.

#yum install ghc-parallel-devel