Почему функция для перевода значения в функтор с именем pure
в Control.Applicative?Именование функции `pure` в Control.Applicative
ответ
Подумайте о pure
в качестве прилагательного.
foo <*> pure 4
= foo
применяется на значении 4
чистого.
(Что касается точной причине почему это называется pure
, возможно только МакБрайд и Патерсон будет знать.)
Спасибо. Я почему-то удивлялся * почему *, но если я понимаю вас правильно, это довольно произвольно. –
Это немного похоже на fromInteger
. Его аргумент всегда является чистым значением или функцией, которая будет поднята в функтор. Возможно, это должно было быть fromPure
, но вы знаете, как люди Haskell любят сокращать имена (например, fst
и snd
вместо first
и second
...).
Обратите внимание, что 'first' и' second' также являются функциями в 'Control.Arrow'. Я уверен, что они пришли позже. –
Хм. Я думал, что 'fst' и' snd' пришли из ML, но это основано только на том, что ML старше Haskell. Быстрый поиск показывает документ [«ML под Unix на VAX»] (http://lucacardelli.name/Papers/MLUnix.pdf), который, как представляется, с середины 80-х годов (в нем нет ссылок, новее чем в 1983 году, и рассказывает, как установить ML с ленты). В документе используются 'fst' и' snd', поэтому похоже, что мое предположение было не слишком далеким. –
'fst' и' snd' были в Haskell с тех пор, как я начал использовать этот язык (1992), а в 2000 году появилось стрелочки с бумажными вложениями Hughes. Я бы назвал функции стрелок 'onFirst' и' onSecond'. – yatima2975
- 1. Игнорирование аргументов в Control.Applicative
- 2. Создание функции Pure в R
- 3. Pure/const функции в C++
- 4. Именование анонимной функции
- 5. именование функции конфигурации свойства
- 6. Именование и структура функции
- 7. Именование в функции внутри JavaScript
- 8. Control.Applicative подъем на п-листах
- 9. pure-specifier по определению функции
- 10. Именование и вызов функции jQuery
- 11. Разница между 'return' и 'pure'
- 12. атрибуты функции pure/const в разных компиляторах
- 13. функции pure/const в C++ 0x
- 14. Именование по имени функции в угловой контроллер
- 15. Именование избыточности в параметрах функции javascript
- 16. Именование функции в javascript for-loops
- 17. Псевдонимы в именах аргументов функции (двойное именование)
- 18. Почему Парсек не используют Control.Applicative операторы
- 19. Почему альтернативный тип должен быть подклассом Control.Applicative
- 20. Numpy Pure Функции для производительности, кэширование
- 21. Виртуальный вызов функции C# pure R6025
- 22. Pure Javascript альтернатива функции .on() JQuery.
- 23. Именование Конвенции в C#
- 24. Параметр функции деструктуризации ES6 - Именование корневого объекта
- 25. Lua Именование таблицы из ввода функции
- 26. Именование функции для предоставленных локализованных строк
- 27. Именование предложений для функции, возвращающей исходный прототип
- 28. Именование столбца в R
- 29. Разница между pure-g и pure-gr
- 30. Pure Python в Xcode?
Я голосую, чтобы закрыть этот вопрос как не по теме, потому что этот вопрос не связан с практической проблемой программирования, изложенной в [help/on-topic]. –