module ATest where import Array struct ATest = upd1,upd2 :: Int -> Int -> Action print :: Int -> Action atest env = template a := array (0,9) 0 in struct upd1 i e = action a := a // [(i,e)] upd2 i e = action a!i := e print i = action env.putStr (show (a!i) ++ "\n") main env = do a <- atest env a.upd1 1 5 a.upd2 2 7 forall i <- [0..9] do a.print i