Spec-Zone.ru › Haskell 7

Data.Function

Авторские права Nils Anders Danielsson 2006, Alexander Berntsen 2014
Лицензия BSD-стиль (см. файл LICENSE в дистрибутиве)
Поддержка libraries@haskell.org
Устойчивость экспериментальная
Переносимость переносимая
Safe Haskell Надежная
Язык Haskell2010

Содержание

  • Prelude повторные экспорты
  • Другие комбинаторы

Описание

Простые комбинаторы, работающие только с функциями.

Prelude повторные экспорты

id :: a -> a Источник

Функция тождества.

const :: a -> b -> a Источник

Константная функция.

(.) :: (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 :: (a -> a) -> a Источник

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).

Алгебраические свойства:

  • (*) `on` id = (*) (если (*) ∉ {⊥, const ⊥})
  • ((*) `on` f) `on` g = (*) `on` (f . g)
  • flip on f . flip on g = flip on (g . f)

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API