Языки с явными побочными эффектами
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.12.16 00:22
Оценка: 19 (3)
Кто нибудь разбирался с языками в которых есть явные побочные эффекты и их вывод из кода?

Например, есть такие языки как: Koka и Eff.

Откровенно говоря на изучения всего этого нет времени. Но сама идея отделения чистых значений (pure values) от побочных эффектов (императива) интересная.

Если кто-то разбирался, просьба поделиться ощущениями, идеями и примерами.

ЗЫ

Да... Хаскель и монады не предлагать. С этим все ясно, но это как-то оверкильно и уныло.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Отредактировано 24.04.2017 17:14 VladD2 . Предыдущая версия . Еще …
Отредактировано 23.12.2016 0:24 VladD2 . Предыдущая версия .
Re: Языки с явными побочными эффектами
От: MadHuman Россия  
Дата: 26.05.17 14:08
Оценка: 52 (1)
Здравствуйте, VladD2, Вы писали:

VD>Кто нибудь разбирался с языками в которых есть явные побочные эффекты и их вывод из кода?


VD>Например, есть такие языки как: Koka и Eff.


VD>Откровенно говоря на изучения всего этого нет времени. Но сама идея отделения чистых значений (pure values) от побочных эффектов (императива) интересная.


VD>Если кто-то разбирался, просьба поделиться ощущениями, идеями и примерами.


Мне тоже интересна эта тема и идея отделения и в тоже время совмещения чистых функций и побоных эффектов в рамках языка (без костылей в виде монад естесно).
Как-то делал подход к Koka. идея там примерно следующая — у функции наряду с классическим типоа возвращаемого значения, дополнительно (и независимо от обычного типа) есть — тип так называемых эффектов. причем эффекты — как бы суммируются и выводятся автоматически компилятором на основе того что внутри функции используется.
какие это даёт бенефиты (кроме того что в сигнатуре функции видно чистая она или создаёт эффекты) неясно. возможно (и даже скорее всего) я недостаточно глубоко успел проникнуться темой, но тем не менее явные бенефиты неясны. надо как-нибудь ещё сделать более вдумчивый подход к Коке
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.