Здравствуйте, VladD2, Вы писали:
VD>Кто нибудь разбирался с языками в которых есть явные побочные эффекты и их вывод из кода?
VD>Например, есть такие языки как: Koka и Eff.
VD>Откровенно говоря на изучения всего этого нет времени. Но сама идея отделения чистых значений (pure values) от побочных эффектов (императива) интересная.
VD>Если кто-то разбирался, просьба поделиться ощущениями, идеями и примерами.
Мне тоже интересна эта тема и идея отделения и в тоже время совмещения чистых функций и побоных эффектов в рамках языка (без костылей в виде монад естесно).
Как-то делал подход к Koka. идея там примерно следующая — у функции наряду с классическим типоа возвращаемого значения, дополнительно (и независимо от обычного типа) есть — тип так называемых эффектов. причем эффекты — как бы суммируются и выводятся автоматически компилятором на основе того что внутри функции используется.
какие это даёт бенефиты (кроме того что в сигнатуре функции видно чистая она или создаёт эффекты) неясно. возможно (и даже скорее всего) я недостаточно глубоко успел проникнуться темой, но тем не менее явные бенефиты неясны. надо как-нибудь ещё сделать более вдумчивый подход к Коке