更有效地使用STStrMap

时间:2016-08-13 01:09:19

标签: purescript

除了freezeST之外,还有一种更有效的方法是使用STStrMap中的值来获取StrMap吗?例如,我有一个包含一堆函数的STStrMap。在某些时候,我想调用所有函数,返回第一个Just值。此代码有效:

runOpeners uri omap = do strmap <- omap >>= \omap' -> freezeST omap' -- convert from STStrMap to StrMap  pure $ foldl (\acc o -> acc <|> o uri ) Nothing $ values strmap -- call opener functions

但是,freezeST首先复制地图,效率很低。

0 个答案:

没有答案