Size: a a a

2021 May 07

[

[BRM]White Rabbit in Haskell
ну, я скрин скинул, как пишу
источник

JJ

Joshua Jakowlew in Haskell
Мы создаем новый mvar и потом просто его модифаим
источник

к

кана in Haskell
читать страшно, почему бы не скинуть минимальный пример, где проблема все еще воспроизводится
источник

JJ

Joshua Jakowlew in Haskell
Тада удалю и сча минимальный скинем
источник

[

[BRM]White Rabbit in Haskell
проблема в том, что минимальный пример работает
источник

[

[BRM]White Rabbit in Haskell
значит, косяк не там
источник

AS

Anton Sorokin in Haskell
Кажется, проблема со вводом. Если убрать всё про mvar и просто print flag, работает разве?
источник

IO

I O in Haskell
Я кажется понял, добавьте-ка -fno-omit-yields в ghc-options
источник

[

[BRM]White Rabbit in Haskell
Проблема даже не с вводом. Вот такой минимальный пример стабильно работает
источник

IO

I O in Haskell
Или yield в конец каждого из читающих forever-ов
источник

AS

Anton Sorokin in Haskell
Без последней строчки не работает то есть? Похоже не баг оптимизатора тогда правда
источник

[

[BRM]White Rabbit in Haskell
без pure там форевер возвращает чёт
источник

IO

I O in Haskell
Если я правильно понял, проблема в том, что если Вы считали из мвара фолс вы никак не взаимодействуете с ртс (нет ио или аллокации), поэтому треды не переключаются, поэтому читающий тред не может проснуться
источник

IO

I O in Haskell
^
источник

IO

I O in Haskell
Переслано от I O
Я кажется понял, добавьте-ка -fno-omit-yields в ghc-options
источник

IO

I O in Haskell
Переслано от I O
Или yield в конец каждого из читающих forever-ов
источник

AS

Anton Sorokin in Haskell
Законы монад всё таки никто не отменял
источник

AS

Anton Sorokin in Haskell
yield это конечно непонятная на первый взгляд штука, но похоже что тут правда про треды
источник

AF

Alexey Fedotov in Haskell
какой-то этот ваш мвар дрянь императивная
источник

AF

Alexey Fedotov in Haskell
ведь, наверное, можно на хаскелле развернуть сообщения в бесконечный список и читать из него последний элемент?
источник