packages feed

ArrayRef-0.1: Examples/Array/ST.hs

-- This example demonstrates using of STArray and STUArray
import Control.Monad.ST
import Data.ArrayBZ.ST

main = do
          -- This section demonstrates using of STArray
          runST test_STArray  |>  print

          -- This section demonstrates using of STUArray
          runST test_STUArray  |>  print


-- Using STArray
test_STArray = do
          array <- newListArray (1,10) [1..10] :: ST s (STArray s Int Double)
          elements <- getElems array
          return (sum elements)

-- Using STUArray
test_STUArray = do
          array <- newListArray (1,10) [1..10] :: ST s (STUArray s Int Double)
          elements <- getElems array
          return (sum elements)

-- Helper operation
a |> b = b a