Size: a a a

Scala User Group

2019 December 27

Oℕ

Oleg ℕizhnik in Scala User Group
Alexey Otts
там же вроде есть update
с A => F[A] нет
источник

λ

λоλторт in Scala User Group
Sergey Alaev
Удивлен, что в котах нет интеграции MVar с bracket.
Это вообще возможно реализовать - (MVar[F, A], A => F[A]) => F[Unit], который делает take-put, чтобы при cancel в MVar обратно записалось A ?
а на нём .modify нету чтоли?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
λоλторт
а на нём .modify нету чтоли?
блин
источник

Oℕ

Oleg ℕizhnik in Scala User Group
A => F[A]
источник

Oℕ

Oleg ℕizhnik in Scala User Group
ребята, плз
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Sergey Alaev
Удивлен, что в котах нет интеграции MVar с bracket.
Это вообще возможно реализовать - (MVar[F, A], A => F[A]) => F[Unit], который делает take-put, чтобы при cancel в MVar обратно записалось A ?
Короче, в тофу прокрался неправильный синтаксис
источник

Oℕ

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

Oℕ

Oleg ℕizhnik in Scala User Group
Sergey Alaev
Удивлен, что в котах нет интеграции MVar с bracket.
Это вообще возможно реализовать - (MVar[F, A], A => F[A]) => F[Unit], который делает take-put, чтобы при cancel в MVar обратно записалось A ?
но как многократно замечали пара Ref + Semaphore обычно лучше работает
источник

KS

Kirill Shelopugin in Scala User Group
Oleg ℕizhnik
Короче, в тофу прокрался неправильный синтаксис
inb4 где доки
источник

SA

Sergey Alaev in Scala User Group
Alexey Otts
там же вроде есть update
нет, даже A => A нет.
источник

AO

Alexey Otts in Scala User Group
Sergey Alaev
нет, даже A => A нет.
да, уже глянул
источник

λ

λoλdog in Scala User Group
Sergey Alaev
Удивлен, что в котах нет интеграции MVar с bracket.
Это вообще возможно реализовать - (MVar[F, A], A => F[A]) => F[Unit], который делает take-put, чтобы при cancel в MVar обратно записалось A ?
это ж конкарент структура, будет не просто такое сделать
источник

Oℕ

Oleg ℕizhnik in Scala User Group
λoλdog
это ж конкарент структура, будет не просто такое сделать
довольно просто
источник

λ

λoλdog in Scala User Group
Oleg ℕizhnik
довольно просто
не согласен
источник

KS

Kirill Shelopugin in Scala User Group
λoλdog
не согласен
Пробовал?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
λoλdog
не согласен
источник

Oℕ

Oleg ℕizhnik in Scala User Group
сейчас, к несчастью самый прямой путь в тофу - это
QVarByMVar(mvar).toAtom.modify(...)
источник

Oℕ

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

λ

λoλdog in Scala User Group
мне просто трудно представить семантику take put на mvar
источник

Oℕ

Oleg ℕizhnik in Scala User Group
очень простая семенантика тейк забирает
источник