Is there some substitute of map which evaluates the list in parallel? I don\'t need it to be lazy.
Something like: pmap :: (a -> b) -> [a] -
Besides using explicit strategies yourself as Tom has described, the parallel package also exports parMap:
parMap :: Strategy b -> (a -> b) -> [a] -> [b]
where the strategy argument is something like rdeepseq.
And there's also parMap in the par-monad package (you step out of pure Haskell, and into a parallel monad):
parMap :: NFData b => (a -> b) -> [a] -> Par [b]
The par-monad package is documented here.