Size: a a a

Scala User Group

2021 February 01

Oℕ

Oleg ℕizhnik in Scala User Group
Pavel
а есть какой-нибудь хороший юзкейс на примете?
юзкейсы одни и те же
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Мультистейт и примитивы
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Python
Да, Ref.modify делать если функция A => F[B], а не A => B.
И как предлагаешь делать ?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
я знаю два способа сделать это на стм, оба плохие
источник

P

Python in Scala User Group
Oleg ℕizhnik
И как предлагаешь делать ?
А там нет универсального решения. Зависит от того какое поведение ты хочешь получить в конкретном случае. Поэтому про STM и спросил.
источник

P

Pavel in Scala User Group
можно и семафором, но тоже не очень
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Это не нужно делать на СТМ явно, можно сделать примитив для этого с STM очередью (если она есть в cats stm), но для этого есть ZRef в ZIO и Agent в тофу, который обобщает ZRef и пару ref + semaphore в котах
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Pavel
можно и семафором, но тоже не очень
чем не очень?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Pavel
а, тогда да.

к слову, в зио реф умеет это из коробки (наверняка тоже стм под капотом используется)
реф не умел это в зио, последний раз, когда я проверял
источник

P

Pavel in Scala User Group
Oleg ℕizhnik
чем не очень?
тем что самому такие конструкции писать приходится, взять готовое из зио/тофу - ок
источник

P

Pavel in Scala User Group
Oleg ℕizhnik
реф не умел это в зио, последний раз, когда я проверял
я конечно же имел ввиду ZRef
источник

AS

Alex Sh in Scala User Group
Oleg ℕizhnik
Это не нужно делать на СТМ явно, можно сделать примитив для этого с STM очередью (если она есть в cats stm), но для этого есть ZRef в ZIO и Agent в тофу, который обобщает ZRef и пару ref + semaphore в котах
Пара ref + semaphore = MVar?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
проблема в том, что STM для этого подходит ещё хуже, чем руками писать
Т.е. написать проще, код короче, но зафакапиться гораздо легяе
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Alex Sh
Пара ref + semaphore = MVar?
Нет
источник

P

Python in Scala User Group
Alex Sh
Пара ref + semaphore = MVar?
Слухи ходят что MVar удалили :O
источник

AS

Alex Sh in Scala User Group
Python
Слухи ходят что MVar удалили :O
На месте оно.
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Python
Слухи ходят что MVar удалили :O
Ну в лучшем случае на очередь заменят
источник

Oℕ

Oleg ℕizhnik in Scala User Group
или вы про MVar2
источник

AS

Alex Sh in Scala User Group
Oleg ℕizhnik
или вы про MVar2
Я про старый добрый MVar.
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Alex Sh
Я про старый добрый MVar.
MVar2 это и есть старый добрый с двумя доп операциями
источник