File tree Expand file tree Collapse file tree 2 files changed +18
-10
lines changed Expand file tree Collapse file tree 2 files changed +18
-10
lines changed Original file line number Diff line number Diff line change 125
125
126
126
emptySTArray :: forall a h r. Eff (st :: ST h | r) (STArray h a)
127
127
128
- getAssocs :: forall a h r. STArray h a -> Eff (st :: ST h | r) [Assoc a]
129
-
130
- getElems :: forall a h r. STArray h a -> Eff (st :: ST h | r) [a]
128
+ freeze :: forall a h r. STArray h a -> Eff (st :: ST h | r) [a]
131
129
132
130
peekSTArray :: forall a h r. STArray h a -> Number -> Eff (st :: ST h | r) (Maybe a)
133
131
141
139
142
140
spliceSTArray :: forall a h r. STArray h a -> Number -> Number -> [a] -> Eff (st :: ST h | r) [a]
143
141
142
+ thaw :: forall a h r. [a] -> Eff (st :: ST h | r) (STArray h a)
143
+
144
+ toAssocArray :: forall a h r. STArray h a -> Eff (st :: ST h | r) [Assoc a]
145
+
144
146
145
147
## Module Data.Array.Unsafe
146
148
Original file line number Diff line number Diff line change @@ -8,8 +8,8 @@ module Data.Array.ST
8
8
, pushSTArray
9
9
, pushAllSTArray
10
10
, spliceSTArray
11
- , getElems
12
- , getAssocs
11
+ , freeze , thaw
12
+ , toAssocArray
13
13
) where
14
14
15
15
import Data.Maybe
@@ -98,8 +98,8 @@ foreign import spliceSTArrayImpl """
98
98
spliceSTArray :: forall a h r . STArray h a -> Number -> Number -> [a ] -> Eff (st :: ST h | r ) [a ]
99
99
spliceSTArray = runFn4 spliceSTArrayImpl
100
100
101
- foreign import getElems " " "
102
- function getElems (arr) {
101
+ foreign import copyImpl " " "
102
+ function copyImpl (arr) {
103
103
return function(){
104
104
var as = [];
105
105
var i = -1;
@@ -109,10 +109,16 @@ foreign import getElems """
109
109
}
110
110
return as;
111
111
};
112
- }" " " :: forall a h r . STArray h a -> Eff (st :: ST h | r ) [ a ]
112
+ }" " " :: forall a b h r . a -> Eff (st :: ST h | r ) b
113
113
114
- foreign import getAssocs " " "
115
- function getAssocs(arr) {
114
+ freeze :: forall a h r . STArray h a -> Eff (st :: ST h | r ) [a ]
115
+ freeze = copyImpl
116
+
117
+ thaw :: forall a h r . [a ] -> Eff (st :: ST h | r ) (STArray h a )
118
+ thaw = copyImpl
119
+
120
+ foreign import toAssocArray " " "
121
+ function toAssocArray(arr) {
116
122
return function(){
117
123
var as = [];
118
124
var i = -1;
You can’t perform that action at this time.
0 commit comments