Size: a a a

2020 November 22

AV

Alexander Vershilov in Haskell
Суть высказывания не в том, что это оффтоп, тут он иногда бывает, а что это бесполезное занудство :)
источник

MP

Misha Puzanov in Haskell
Анатолий Кот
Добрый вечер, являются ли StateT s IO и ReaderT (IORef s) IO взаимозаменяемыми?  (в плане моделирования изменяющегося состояния)
AFAIK, у них будет разное поведение, если выбрасывается исключение, StateT "откатится", а IORef будет содержать последнее значение
источник

к

кана in Haskell
Анатолий Кот
Добрый вечер, являются ли StateT s IO и ReaderT (IORef s) IO взаимозаменяемыми?  (в плане моделирования изменяющегося состояния)
нет
источник

AV

Alexander Vershilov in Haskell
Анатолий Кот
Добрый вечер, являются ли StateT s IO и ReaderT (IORef s) IO взаимозаменяемыми?  (в плане моделирования изменяющегося состояния)
Не являются
источник

к

кана in Haskell
а нет, стоп, ващет является
источник

AV

Alexander Vershilov in Haskell
У второго семантика забывания изменений в случае исключений; а у второго сохранения
источник

к

кана in Haskell
StateT IO не может откатиться
источник

KV

Kirill Valyavin in Haskell
А ещё один и тот же реф могут делить несколько тредов
источник

к

кана in Haskell
а, исключения
источник

MK

Maxim Koltsov in Haskell
Ответ академика: являются
источник

к

кана in Haskell
ну, в однопоточном IO без исключений является
источник

MK

Maxim Koltsov in Haskell
Ответ практика: исключения!
источник

KV

Kirill Valyavin in Haskell
Maxim Koltsov
Ответ практика: исключения!
Хуже всего то, что исключения тоже академики придумали, чтобы подгадить другим академикам
источник

MP

Misha Puzanov in Haskell
кана
StateT IO не может откатиться
"откатится" значение заданное через put, как я понимаю
источник

AV

Alexander Vershilov in Haskell
Ну <|> тоже не будет одинаковым кажется?
источник

MK

Maxim Koltsov in Haskell
Kirill Valyavin
Хуже всего то, что исключения тоже академики придумали, чтобы подгадить другим академикам
Разве? Есть пейперы про хаскельные исключения?
источник

MP

Misha Puzanov in Haskell
ну и Правильный Ответ "нет, потому что многопоточность"
источник

к

кана in Haskell
ну опять же, только при исключении. У IO нет alternative инстанса
источник

АК

Анатолий Кот... in Haskell
Maxim Koltsov
Но второе строго сильнее первого
А какие у StateT есть ограничения?
Прост у меня есть кусок кода с StateT - хочу в нем захватить стейт, но как это сделать не могу понять. Переписал его на IORef в ридере, но не нравится, что  появляется IO где нет взаимодействия с внешним миром
источник

AV

Alexander Vershilov in Haskell
Maxim Koltsov
Разве? Есть пейперы про хаскельные исключения?
Конечно!
источник