[Haskell-beginners] The Data Parallel Haskell example from the Haskell Wiki won't work

Ben Lippmeier benl at ouroborus.net
Wed Sep 29 03:25:22 EDT 2010


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.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/beginners/attachments/20100929/d2dda1f0/attachment.html


More information about the Beginners mailing list