Size: a a a

2020 May 24

YS

Yan Shkurinskiy in fprog_spb
Блин, надо всё таки прочитать, как эти фри монады работают
источник

YS

Yan Shkurinskiy in fprog_spb
Мои обывательские знания меня не удовлетворяют
источник

AV

Alexander Vershilov in fprog_spb
Просто структура по которой можно создать инстанс Monad бесплатно
источник

AV

Alexander Vershilov in fprog_spb
Т.е. для любого функтора F, можно сделать Free F, у которого будет единственный инстас Monad (поэтому его можно сделат автоматом)
источник

AV

Alexander Vershilov in fprog_spb
В итоге ты пишешь функтор определенного вида со списком эффектов/операций и бесплатно получаешь монадический DSL
источник

YS

Yan Shkurinskiy in fprog_spb
Надо будет глянуть подробнее, почему он единственный...
источник

АГ

Александр Гранин... in fprog_spb
Я имплементил "нормальную" Free в С++. Она несложная, ее понять вообще можно за вечер. Я так же имплементил Church Encoded Free, тоже в С++. Ну я открыл исходники, перенес их почти 1:1, оно заработало, но как именно, я до сих пор не понимаю
источник

AV

Alexander Vershilov in fprog_spb
Если ты получаешь монадический dsl, то ты можешь делат разные интерпретаторы (соотв менять bind)
источник

AV

Alexander Vershilov in fprog_spb
Yan Shkurinskiy
Надо будет глянуть подробнее, почему он единственный...
Не надо 🙂
источник

AV

Alexander Vershilov in fprog_spb
Ну надо, но не обязательно
источник

YS

Yan Shkurinskiy in fprog_spb
Ну, я просто не знаком с этим, хотя тема очень известная
источник

YS

Yan Shkurinskiy in fprog_spb
Хотя бы для кругозора знать!
источник

AV

Alexander Vershilov in fprog_spb
А Church encoding нужен для того, чтобы сложность последовательности операций была адекватная
источник

YS

Yan Shkurinskiy in fprog_spb
Не думаю что выкину свой ft и перепишу всё на fm
источник

AV

Alexander Vershilov in fprog_spb
Соотвественно, там где у тебя в задаче изначально интепретатор вылезает кажется адекватным решением
источник

YS

Yan Shkurinskiy in fprog_spb
Alexander Vershilov
А Church encoding нужен для того, чтобы сложность последовательности операций была адекватная
Это как-то связано с монадическим связыванием?
источник

YS

Yan Shkurinskiy in fprog_spb
Ну, выбор такого энкодинга
источник

AV

Alexander Vershilov in fprog_spb
Да, там связывание эффективнее получается
источник

AV

Alexander Vershilov in fprog_spb
линейное вместо квадратичного, если не ошибаюсь?
источник

YS

Yan Shkurinskiy in fprog_spb
Это не похоже на то, как дифф листы работают?
источник