﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
42	Result of foldAllP isn't forced.	Ben Lippmeier		"
Report from Chris Reade:

That is why I expected this code to work without the explicit `seq` , but these are needed to avoid the ""Performing nested parallel computation sequentially"" problem.

{{{
writeHeatMapBMP :: String 
                -> Array U DIM2 Double
                -> IO()
writeHeatMapBMP filename arr
  = do maxVal <- foldAllP max 0.0 arr
       minVal <- foldAllP min 0.0 arr
       arrImageOut <- minVal `seq` maxVal `seq`
                      computeP
                      $  R.map rgb8OfDouble
                      $  R.map (rampColorHotToCold minVal maxVal) arr
       writeImageToBMP filename arrImageOut
}}}

The implementation of foldAllP should ensure that the result is evaluated before it returns.

"	defect	closed	normal		library	3.2.2	fixed		
