Size: a a a

2020 July 14

MK

Maxim Koltsov in Haskell
вкорячивание неалгебраических эффектов в фримонадные штуки — несколько нетривиальная задача, я видел на эту тему пейперы
источник

IK

Ilya Kos in Haskell
Maxim Koltsov
ну а если серьезно, то там легче менять порядок хендлеров, легче подсовывать новые интерпретаторы, скорее всего легче интроспекцию делать
почему? так же порядок зависит только от того, в каком порядке ты монады будешь разворачивать
источник

IK

Ilya Kos in Haskell
Maxim Koltsov
вкорячивание неалгебраических эффектов в фримонадные штуки — несколько нетривиальная задача, я видел на эту тему пейперы
ну я сейчас не про смешивание
источник

MK

Maxim Koltsov in Haskell
а, ещё n*m instances problem нет
источник

IK

Ilya Kos in Haskell
Maxim Koltsov
а, ещё n*m instances problem нет
вот это единственно существенное что я увидел
источник

MK

Maxim Koltsov in Haskell
потому что протащить алгебраический эффект через любой другой можно абстрактно, а вот протащить трансформер через любой другой нет
источник

IK

Ilya Kos in Haskell
хм
источник

АГ

Александр Гранин... in Haskell
Если честно, я не понимаю, что такое алгебраические и неалгебраические эффекты, зачем нужно это деление и как оно влияет на разработку.
источник

MK

Maxim Koltsov in Haskell
ну сходи пейпер почитай
источник

АГ

Александр Гранин... in Haskell
Не особо интересно
источник

IK

Ilya Kos in Haskell
Александр Гранин
Если честно, я не понимаю, что такое алгебраические и неалгебраические эффекты, зачем нужно это деление и как оно влияет на разработку.
я тоже не понимаю

Но когда я говорю "алгебраические эффекты", я думаю про фримонадные конструкции типо fused-effects и freer
источник

IK

Ilya Kos in Haskell
не знаю есть ли где-то алгебраические эффекты без фримонад
источник

IK

Ilya Kos in Haskell
Возможно я что-то неправильно употребляю
источник

АГ

Александр Гранин... in Haskell
А я стараюсь вообще избегать этого новояза. Есть подсистемы, и этого достаточно
источник

IK

Ilya Kos in Haskell
Александр Гранин
А я стараюсь вообще избегать этого новояза. Есть подсистемы, и этого достаточно
Не вижу как "подсистема" здесь может что-то заменить 🙂
источник

IK

Ilya Kos in Haskell
Maxim Koltsov
потому что протащить алгебраический эффект через любой другой можно абстрактно, а вот протащить трансформер через любой другой нет
Ну т е получается, самая большая плюшка -- что они в общем случае композириуемы, в отличии от трансформеров?
источник

MK

Maxim Koltsov in Haskell
Александр Гранин
Не особо интересно
если у тебя эффект с двумя аргументами, op x1 x2, то он алгебраический если

op x1 x2 >>= k эквивалентно op (x1 >>= k) (x2 >>= k)
источник

MK

Maxim Koltsov in Haskell
распиши для разминки ума это для catch
источник

MK

Maxim Koltsov in Haskell
вот для алгебраических теория (и реализация) легко строится, а для неалгебраических нет
источник

MK

Maxim Koltsov in Haskell
вот и всё
источник