Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
24
Task/Jensens-Device/Haskell/jensens-device.hs
Normal file
24
Task/Jensens-Device/Haskell/jensens-device.hs
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
import Control.Monad.ST
|
||||
import Data.STRef
|
||||
|
||||
sum_ :: STRef s Double -> Double -> Double
|
||||
-> ST s Double -> ST s Double
|
||||
sum_ ref lo hi term =
|
||||
do
|
||||
vs <- forM [lo .. hi]
|
||||
(\k -> do { writeSTRef ref k
|
||||
; term } )
|
||||
return $ sum vs
|
||||
|
||||
foo :: Double
|
||||
foo =
|
||||
runST $
|
||||
do ref <- newSTRef undefined
|
||||
-- initial value doesn't matter
|
||||
sum_ ref 1 100 $
|
||||
do
|
||||
k <- readSTRef ref
|
||||
return $ recip k
|
||||
|
||||
main :: IO ()
|
||||
main = print foo
|
||||
Loading…
Add table
Add a link
Reference in a new issue