On Jan 26, 2007, at 4:56 PM, Sean McLaughlin wrote:
Hello, I'm trying to write a simple function to time an application. -- this doesn't work time f x = do n1 <- CPUTime.getCPUTime let res = f x in do n2 <- CPUTime.getCPUTime return (res,n2 - n1) On a function that takes 8 seconds to complete, returns (True,46000000)
Remember that Haskell is lazy -- res won't be evaluated until it is forced. See the evaluate function in Control.Exception to force a value in the IO monad.
Spencer Janssen _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe