Вопросы по теме 'st-monad'
Есть ли доказательство того, что runST действительно чист?
ST-монада , изначально разработанный Launchbury and Peyton Jones , позволяет программистам Haskell писать императивный код (с изменяемым переменные, массивы и т. д.) при получении чистого интерфейса для этого кода.
Более конкретно, полиморфный...
493 просмотров
schedule
09.11.2021
Использование Monad/ST для непараллельной передачи сообщений в изменяемый граф
Я пытаюсь разработать структуру данных для следующей ситуации.
Структура графика
Я планирую иметь граф узлов с невзвешенными направленными ребрами: Graph = [Node]
Каждый узел имеет:
Некоторое внутреннее (постоянное) состояние TBD...
122 просмотров
schedule
21.03.2022
Что происходит в подписи этого типа? (Модификаторы Vector.Mutable в Haskell)
Изменяемые векторы в Haskell имеют три мутатора на уровне элемента:
read :: PrimMonad m => MVector (PrimState m) a -> Int -> m a
write :: PrimMonad m => MVector (PrimState m) a -> Int -> a -> m ()
swap :: PrimMonad m =>...
900 просмотров
schedule
14.05.2022
Смешивание IO с ST Monad - переменная типа `s2' вышла бы из области видимости
Я решил упростить свой код, чтобы увидеть, какие условия вызывают ошибку. Я начинаю с простой вложенной «s», похожей на ST s (STArray s x y) , вот так:
{-# LANGUAGE RankNTypes #-}
import Control.Monad.ST
import Control.Applicative
data Foo s =...
232 просмотров
schedule
07.01.2023
Безопасно ли unsafeThaw индексированный неупакованный вектор?
Я только что опубликовал этот код:
import qualified Data.Vector.Unboxed as VU
import qualified Data.Vector.Algorithms.Intro as VAlgo
argSort :: (Ord a, VU.Unbox a) => VU.Vector a -> VU.Vector Int
argSort xs = VU.map fst $ VU.create $ do...
94 просмотров
schedule
22.01.2023