Я просто немного поиграл с ST
в scalaz и подошел к точке, где хотел использовать содержимое проходящего типа, чтобы изменить мой STRef
. В Haskell я мог бы сделать это следующим образом (взяты из вики Haskell):Scalaz, эквивалентный forM_
sumST :: Num a => [a] -> a
sumST xs = runST $ do
n <- newSTRef 0
forM_ xs $ \x -> do
modifySTRef n (+x)
readSTRef n
К сожалению, я не смог найти эквивалент forM_
в scalaz. Итак, вопрос в том, как я могу это сделать со сказазом?
Отлично, большое спасибо! – drexin