StateT[IO, S, A] это то что мне нужно в Cats или есть что-то более подходящее, не подскажите?
Если нужен конкаррент стейт, то Ref[IO, S]
StateT[IO, S, ] - это моральный эквивалент S => IO[S, A], иными словами писать функцию def foo(...): StateT[IO, S, A] эквивалентно написанию def foo(...)(init: S): IO[(S, A)] Это форма функционального стейта, но строго линеаризованного и теряющегося при первой же ошибке. Ref, MVar, Ref, Queue, Atom, Agent - формы мутабельного состояния и обмена информацией для конкурентных программ
Обсуждают сегодня