Size: a a a

2020 August 28

AT

Alexander Tchitchigi... in fprog_spb
Alex Peresmeshnik
А может кто-нибудь объяснить, как получилось название "алгебраические эффекты"?  Это же call/cc +)
Их можно складывать и перемножать. 🙂
источник

YS

Yan Shkurinskiy in fprog_spb
Alexander Vershilov
Нет, у меня сплошное IO поверх Handle Pattern
IO хорошо композится)
источник

AV

Alexander Vershilov in fprog_spb
Да!
источник

AV

Alexander Vershilov in fprog_spb
Вообще одинаковая штука хорошо композится
источник

AP

Alex Peresmeshnik in fprog_spb
Alexander Tchitchigin
Их можно складывать и перемножать. 🙂
Не объясняет называние, складывать и перемножать можно пожалуй все что угодно +)
источник

AV

Alexander Vershilov in fprog_spb
Все эти эффекты о том, как сделать одинаковый тип из многих разных
источник

AT

Alexander Tchitchigi... in fprog_spb
Alex Peresmeshnik
Не объясняет называние, складывать и перемножать можно пожалуй все что угодно +)
Нет, не всё – в этом и проблема.
источник

AP

Alex Peresmeshnik in fprog_spb
Ну и плюс само слово "алгебра" как бы не только сложение и перемножение. Так что этимологию не раскрывает
источник

AT

Alexander Tchitchigi... in fprog_spb
Ну, ОК в статически типизированных языках не всё можно складывать и перемножать.
источник

A

Andrey in fprog_spb
ну ладно, зайдём с другой стороны..

1. было исходное сообщение, вида show your work.
2. было сообщение-рефлексия, указывающее на то, что исходное сообщение осталось без внимания.
3. было сообщение вопросительного характера, предусматривающее разъяснение смысла алгебраических эффектов.
4. было сообщение кларификационного характера, подкрепляемое ссылкой.
5. было сообщение вопросительного характера, расширяющее исходный вопрос из 3.
6. было сообщение кларификационного характера, отвечающее на сообщение 5.
7. было сообщение кларификационного характера, не подтвержденное аргументами.
8.было сообщение кларификационного характера, не подтвержденное аргументами.
9. было сообщение вопросительного вопроса, относительно 7.
10. было сообщение кларификационного характера, не подтвержденное аргументами, в ответ на 9.

получается, что, да, с такой стороны обесценивания не было. ну я известный выдумщик 😊и мне вечно кажется всякое
источник

AV

Alexander Vershilov in fprog_spb
Alex Peresmeshnik
Ну и плюс само слово "алгебра" как бы не только сложение и перемножение. Так что этимологию не раскрывает
слово алгебра не как предмет, а как математическая структура
источник

AP

Alex Peresmeshnik in fprog_spb
Alexander Vershilov
слово алгебра не как предмет, а как математическая структура
"Алгебраический эффект" тут при чем? )
источник

AV

Alexander Vershilov in fprog_spb
Это тип эффект, для которого можно ввести операции сложения и умножения, отвечающие законам
источник

AV

Alexander Vershilov in fprog_spb
Скорее всего я ошибаюсь, но A+B — тут есть эффект A или эффект B, и A*B есть эффект A и эффект B
источник

AV

Alexander Vershilov in fprog_spb
При этом для них выполняются законы дистрибутивности, коммутативности и т.п.
источник

AV

Alexander Vershilov in fprog_spb
Типа A*(B+C) = A*B + A*C, соотвественно так будет работать интепретатор
источник

AV

Alexander Vershilov in fprog_spb
Из-за этого бывают проблемы, например нельзя выразить local-эффект, т.к. для него A*B /= B*A
источник

AV

Alexander Vershilov in fprog_spb
И тоже самое исключение эффект исключения будет propagated во все другие
источник

AV

Alexander Vershilov in fprog_spb
Зачем это нужно вопрос хороший; например для с этими штуками удобно делать fine-grained эффекты и по разному их объединять, при этом не фиксируя список поддерживаемых эффектов без необходимости
источник

AV

Alexander Vershilov in fprog_spb
Но это всё неточно, к сожалению системы эффектов и фреймворки оказались слишком сложными для меня и в реальной жизни поиспользовать их мне не удалось
источник