Closed
Description
Given the type of runSTArray
:
runSTArray ::
forall a r.
(forall h. Eff (st :: ST h | r) (STArray h a)) -> Eff r (Array a)
it seems to me that it's a nice alternative to freeze
+ runST
, which would involve an unnecessary copy, but I can't see a way to take advantage of this if I want to return more than one STArray from the computation. This would be helpful, for example, for efficiently implementing functions like unzip
. Can anyone think of a good way of addressing this?
Metadata
Metadata
Assignees
Labels
No labels