Вопросы по теме 'stm'

Функция проверки Haskell STM возвращает неопределенное значение
Есть ли веская причина, по которой функция check в библиотеке Contol.Concurent.STM имеет тип Bool -> STM a и возвращает в случае успеха undefined , а не тип Bool -> STM () ? То, как это реализовано, средство проверки типов будет...
307 просмотров
schedule 19.06.2022

Контейнер для Haskell TVars
У меня есть игровой сервер, который создает поток для каждого клиента с помощью forkIO. Я хочу, например, поделиться со всеми списком клиентов и списком монстров. Моя первая идея заключалась в том, чтобы иметь один контейнер TVar для типа данных,...
289 просмотров
schedule 17.01.2023

Можно ли контролировать уровень конкуренции STM?
Есть ли способ узнать, повторяются ли транзакции Clojure STM и с какой скоростью?
250 просмотров
schedule 10.04.2023

Как запустить параллельные вычисления в Haskell?
Если у меня есть функция, которая выполняет четыре очень длинных вычисления и возвращает список с результатом четырех вычислений, но где каждое вычисление не зависит от другого, как вы «распараллеливаете» это в Haskell? Чтобы лучше объяснить мой...
293 просмотров
schedule 07.04.2022

Haskell STM: как сохранить ThreadID в соответствии с их последовательностью выполнения
В следующей программе число Фибоначчи генерируется из заданного целого числа (сгенерированного случайным образом), и это значение сохраняется в TVar. Поскольку время выполнения для генерации Фибоначчи различно для разных чисел, потоки не будут...
195 просмотров
schedule 27.09.2022

В чем разница между коммутацией и изменением в Clojure?
Я пытаюсь написать очень простой код, который показывает разные результаты между коммутацией и изменением в Clojure. Может ли кто-нибудь создать пример для этой цели? Чем проще, тем лучше понять разницу.
218 просмотров
schedule 13.01.2023

Как дождаться завершения forM_ при использовании TVar?
Я пишу функцию, в которой я обрабатываю список, используя forM_ , и добавляю результат в список TVar : import Control.Concurrent.STM import Control.Concurrent.STM.TVar import Control.Concurrent (forkIO) import Control.Monad (forM_) insert :: a...
186 просмотров
schedule 05.11.2022

Действие Haskell IO в `StateT a STM b`
Я хочу запустить randomIO внутри своего StateT a STM b , но получаю эту ошибку: Expected type: StateT Session STM Float Actual type: IO Float поэтому я пытаюсь выполнить lift из Control.Monad.Trans.Class (реэкспортированного модулем...
88 просмотров

Ошибка приведения типов Java Scala-STM при чтении из TArray
У меня есть (неоцененное) задание по программированию, в котором я должен реализовать циклическую очередь с использованием scala-stm из https://nbronson.github.io/scala-stm/ . У меня есть функция получения: public E get() { E item =...
66 просмотров
schedule 28.11.2023