
On 27/09/2010, at 10:06 , João Paulo Pizani Flor wrote:
The code I've written (two files) for this example is in the following pastebins:
DPHVecMul.hs: http://paste.org/pastebin/view/22899 Main.hs: http://paste.org/pastebin/view/22900
I've compiled successfully both files and linked them, exactly as described in the Wiki. But when I run the resulting executable, the following error shows up:
"dotp: Prelude.undefined"
It's seems (from the tests I've done) that the call to the function fromPArrayP of the module Data.Parallel.Array.Prelude results always in undefined. In fact, I've taken a look at the function definition in the docs, and in fact it always returns undefined. It doesn't make ANY SENSE to me :P
Has someone been able to successfully compile and run this example code?? If so, what am I doing wrong? Is there some obvious error I'm incurring in? :D
It's because you didn't add {-# OPTIONS -fvectorise #-} when compiling the DPHVectMul.hs module. The GHC vectoriser rewrites calls to fromPArrayP to the real implementations in its back-end library, but if the vectoriser doesn't run you get the default implementation which is just "undefined". I agree its an atrocious error message. It should have a real one in the head / GHC 7.0 Ben.