@@ -883,8 +883,6 @@ module Control.Monad.ST where
883883
884884 foreign import data STRef :: * -> * -> *
885885
886− foreign import data STArray :: * -> * -> *
887−
888886 foreign import newSTRef "function newSTRef(val) {\
889887 \ return function() {\
890888 \ return { value: val };\
@@ -913,40 +911,7 @@ module Control.Monad.ST where
913911 \ };\
914912 \}" :: forall a h r. STRef h a -> a -> Eff (st :: ST h | r) a
915913
916− foreign import newSTArray "function newSTArray(len) {\
917− \ return function(a) {\
918− \ return function() {\
919− \ var arr = [];\
920− \ for (var i = 0; i < len; i++) {\
921− \ arr[i] = a;\
922− \ };\
923− \ return arr;\
924− \ };\
925− \ };\
926− \}" :: forall a h r. Number -> a -> Eff (st :: ST h | r) (STArray h a)
927−
928− foreign import peekSTArray "function peekSTArray(arr) {\
929− \ return function(i) {\
930− \ return function() {\
931− \ return arr[i];\
932− \ };\
933− \ };\
934− \}" :: forall a h r. STArray h a -> Number -> Eff (st :: ST h | r) a
935−
936− foreign import pokeSTArray "function pokeSTArray(arr) {\
937− \ return function(i) {\
938− \ return function(a) {\
939− \ return function() {\
940− \ return arr[i] = a;\
941− \ };\
942− \ };\
943− \ };\
944− \}" :: forall a h r. STArray h a -> Number -> a -> Eff (st :: ST h | r) a
945−
946914 foreign import runST "function runST(f) {\
947915 \ return f;\
948916 \}" :: forall a r. (forall h. Eff (st :: ST h | r) a) -> Eff r a
949917
950− foreign import runSTArray "function runSTArray(f) {\
951− \ return f;\
952− \}" :: forall a r. (forall h. Eff (st :: ST h | r) (STArray h a)) -> Eff r [a]