Является ли EFF-монада в purescript вдохновлена www.eff-lang.org?

читая о языке Eff, я задавался вопросом, есть ли подобные идеи уже в использовании. Язык Eff упоминает статью под названием "Вывод алгебраических эффектов", в которой описывается алгоритм, который Eff использует для вывода эффектов. Есть ли сходство?

1 ответов


Я знал о Eff, когда писал систему эффектов в PureScript, так что вы можете сказать, что это было вдохновлено им. Другим источником вдохновения стал язык программирования Koka, в частности статья "Koka: Программирование с полиморфными типами эффектов строк". Учитывая, что PureScript уже имел типы строк для работы с записями, имело смысл попытаться перепрофилировать его для использования в качестве системы эффектов.

PureScript использует эффект монады под названием Eff (никакого отношения!) для обработки "родных" эффектов (то есть эффекты, предоставляемые системой выполнения, а не эффекты "userland", как вы могли бы моделировать с помощью трансформаторов монады в Haskell). Eff Как , но уточненный рядом типов влияния. Таким образом, путь к эффектам на основе строк в PureScript был очень прост-мы просто должны были позволить строкам содержать типы с видами, отличными от *.