Data.Function
| Авторские права | Nils Anders Danielsson 2006, Alexander Berntsen 2014 |
|---|---|
| Лицензия | BSD-стиль (см. файл LICENSE в дистрибутиве) |
| Поддержка | libraries@haskell.org |
| Устойчивость | экспериментальная |
| Переносимость | переносимая |
| Safe Haskell | Надежная |
| Язык | Haskell2010 |
Содержание
- Prelude повторные экспорты
- Другие комбинаторы
Описание
Простые комбинаторы, работающие только с функциями.
Prelude повторные экспорты
Функция тождества.
Константная функция.
(.) :: (b -> c) -> (a -> b) -> a -> c infixr 9 Источник
Композиция функций.
flip :: (a -> b -> c) -> b -> a -> c Источник
flip f принимает свои (первые) два аргумента в обратном порядке f.
($) :: (a -> b) -> a -> b infixr 0 Источник
Оператор применения. Этот оператор избыточен, так как обычное применение (f x) означает то же самое, что и (f $ x). Однако $ имеет низкий приоритет, ассоциативность справа, поэтому иногда позволяет опустить скобки; например:
f $ g $ h x = f (g (h x))
Он также полезен в ситуациях с высшим порядком, таких как map ($ 0) xs, или zipWith ($) fs xs.
Другие комбинаторы
(&) :: a -> (a -> b) -> b infixl 1 Источник
& — это обратный оператор применения. Это обеспечивает удобство записи. Его приоритет на единицу выше, чем у оператора прямого применения $, что позволяет & быть вложенным в $.
С версии: 4.8.0.0
fix f — это наименьшая неподвижная точка функции f, т. е. наименьшее определённое значение x такое, что f x = x.
on :: (b -> b -> c) -> (a -> b) -> a -> a -> c infixl 0 Источник
(*) `on` f = \x y -> f x * f y.
Типичное использование: sortBy (compare `on` fst).
Алгебраические свойства:
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/7.10.3/docs/html/libraries/base-4.8.2.0/Data-Function.html