Чтение об Eff-Language, я подумал, есть ли подобные идеи, которые уже используются. В Eff-Language упоминается документ под названием «Вывод алгебраических эффектов», в котором описывается алгоритм, который Eff использует для вывода эффектов. Есть ли сходства?Является ли Eff-monad в purescript вдохновленным www.eff-lang.org?
ответ
Я знал об Eff, когда писал систему эффектов в PureScript, поэтому вы можете сказать, что она была вдохновлена им. Другим источником вдохновения был язык программирования Koka, в частности документ «Кока: программирование с помощью типов полиморфных эффектов». Учитывая, что PureScript уже имел типы строк для работы с записями, имеет смысл попытаться перепрофилировать его для использования в качестве системы эффектов.
PureScript использует эффектную монаду, называемую Eff
(без отношения!) Для обработки «родных» эффектов (то есть эффектов, предоставляемых системой времени выполнения, а не эффектов «пользовательской», например, моделирование с использованием монадных трансформаторов в Haskell). Eff
очень похож на Haskell's IO
, но уточняется рядом типов эффектов. Таким образом, путь к эффектам на основе строк в PureScript был очень простым - нам просто пришлось разрешить строки содержать типы с видами, отличными от *
.
- 1. Является ли Zend Framework вдохновленным в других рамках или идеях?
- 2. Имеет ли PureScript оператор трубы?
- 3. Комбинат записей в Purescript
- 4. Возможно ли молчаливое программирование в Purescript?
- 5. Записи в PureScript
- 6. Force показать запись в PureScript
- 7. Как свернуть Either в PureScript?
- 8. PureScript Halogen и websockets
- 9. Purescript Halogen Handling SVG
- 10. Как структурировать приложение в purescript
- 11. Reader Monad in Purescript
- 12. Начало работы с purescript
- 13. String Concatenation in Purescript
- 14. Prompt Monad in Purescript
- 15. Системное имя типа PureScript
- 16. Purescript - Невозможно унифицировать тип
- 17. Настройка Purescript Enviornment
- 18. Mutating state in Purescript
- 19. Как сделать вывод дочернего процесса в purescript?
- 20. Возможны ли ограничения для новых типов в Purescript?
- 21. Преобразование массива в список в PureScript
- 22. Purescript Halogen: могу ли я запросить состояние дочернего компонента, который также является родителем?
- 23. Простейшее возможное использование STStrMap.poke в purescript
- 24. System.IO.UTF8 не найден (установка PureScript)
- 25. PureScript - Как перезагрузить модуль в psci?
- 26. Как создать иностранную константу в PureScript?
- 27. Получение даты на следующий день в PureScript
- 28. вопросы типа с анонимными функциями в Purescript
- 29. Используйте purescript-галоген (с пульпой)
- 30. Как составлять приложение purescript-halogen