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 125125
126126 emptySTArray :: forall a h r. Eff (st :: ST h | r) (STArray h a)
127127
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]
131129
132130 peekSTArray :: forall a h r. STArray h a -> Number -> Eff (st :: ST h | r) (Maybe a)
133131
141139
142140 spliceSTArray :: forall a h r. STArray h a -> Number -> Number -> [a] -> Eff (st :: ST h | r) [a]
143141
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+
144146
145147## Module Data.Array.Unsafe
146148
Original file line number Diff line number Diff line change @@ -8,8 +8,8 @@ module Data.Array.ST
88 , pushSTArray
99 , pushAllSTArray
1010 , spliceSTArray
11- , getElems
12- , getAssocs
11+ , freeze , thaw
12+ , toAssocArray
1313 ) where
1414
1515import Data.Maybe
@@ -98,8 +98,8 @@ foreign import spliceSTArrayImpl """
9898spliceSTArray :: forall a h r . STArray h a -> Number -> Number -> [a ] -> Eff (st :: ST h | r ) [a ]
9999spliceSTArray = runFn4 spliceSTArrayImpl
100100
101- foreign import getElems " " "
102- function getElems (arr) {
101+ foreign import copyImpl " " "
102+ function copyImpl (arr) {
103103 return function(){
104104 var as = [];
105105 var i = -1;
@@ -109,10 +109,16 @@ foreign import getElems """
109109 }
110110 return as;
111111 };
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
113113
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) {
116122 return function(){
117123 var as = [];
118124 var i = -1;
You can’t perform that action at this time.
0 commit comments