RosettaCodeData/Task/Jensens-Device/Haskell/jensens-device.hs

14 lines
317 B
Haskell
Raw Permalink Normal View History

2013-04-10 21:29:02 -07:00
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