git.iko.soy/rowtype-yoga/purescript-backend-optimizer
on main help sign in
47 lines 950 B history raw
1module Snapshot.STObject01 where
3import Prelude
5import Control.Monad.ST as ST
6import Foreign.Object (Object, freezeST, runST)
7import Foreign.Object.ST as STObject
9test1 :: Object Int
10test1 = runST STObject.new
12test2 :: Object Int
13test2 = ST.run do
14 obj <- STObject.new
15 freezeST obj
17test3 :: Object Int
18test3 = runST do
19 obj <- STObject.new
20 _ <- STObject.poke "a" 1 obj
21 _ <- STObject.poke "b" 2 obj
22 _ <- STObject.poke "c" 3 obj
23 pure obj
25test4 :: Object Int
26test4 = runST do
27 STObject.new
28 >>= STObject.poke "a" 1
29 >>= STObject.poke "b" 2
30 >>= STObject.poke "c" 3
32test5 :: Object Int
33test5 = runST do
34 obj <- STObject.new
35 _ <- STObject.poke "a" 1 obj
36 _ <- STObject.poke "b" 2 obj
37 _ <- STObject.delete "a" obj
38 _ <- STObject.delete "b" obj
39 pure obj
41test6 :: Object Int
42test6 = runST do
43 STObject.new
44 >>= STObject.poke "a" 1
45 >>= STObject.poke "b" 2
46 >>= STObject.delete "a"
47 >>= STObject.delete "b"