dotp_double xs ys = sumP [:x * y | x <- xs | y <- ys:]Unless I'm missing something, shouldn't this actually be:
dotp_double xs ys = sumP [:x * y | x <- xs, y <- ys:]Second, when I run Main with the prescribed 10000 element array, everything seems to work quite nicely. The task takes about 2 seconds on my 4 processor x86_64, and threadscope shows all processors nicely utilized. However, when bumping this to 100000 elements, rather than taking 10x longer as I expected, the process never terminates. During one run I even lost control of my machine and needed to do a hard reset. Are there known limits to the array sizes that can be handled with dph, or can someone suggest what might be going wrong here? Thanks,