Timing Functions
jekwtw
jeaniek7 at comcast.net
Mon Jan 17 15:21:00 EST 2005
Many thanks to both Georg and Lemmih. Actually, I had considered laziness,
but I didn't pursue it enough. I tried one version of runNReps in which I
passed (f x) as an additional arg; when that didn't work, a little thought
convinced me that laziness was doing me in. I also tried another approach,
which was to "use" the function evaluation, but that didn't work either
(note: I know (f x) can not be the empty list for values of x I'm interested
in, but I don't think Haskell does, unless it's *really* smart :-) :
> runNReps :: (Int -> [a]) -> Int -> Int -> IO ()
> runNReps f x todo
> | todo > 0 = do let junk = (f x)
> if null junk then return (()) else
runNReps f x (todo - 1)
> | otherwise = return (())
Ideas?
Again, many thanks,
-- Bill Wood
bill.wood at acm.org
More information about the Glasgow-haskell-users
mailing list