RosettaCodeData/Task/Jensens-Device/Haskell/jensens-device.hs
Ingy döt Net db842d013d A-M baby
2013-04-10 21:29:02 -07:00

13 lines
317 B
Haskell

import Control.Monad
import Control.Monad.ST
import Data.STRef
sum' ref_i lo hi term =
return sum `ap`
mapM (\i -> writeSTRef ref_i i >> term) [lo..hi]
foo = runST $ do
i <- newSTRef undefined -- initial value doesn't matter
sum' i 1 100 $ return recip `ap` readSTRef i
main = print foo