Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Альтернативы
Недавние
Show all languages
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Частичное применение

Из Википедии — свободной энциклопедии

Частичное применение — возможность в ряде языков программирования зафиксировать часть аргументов многоместной функции и создать другую функцию, меньшей арности. Например, имея трёхместную функцию , можно зафиксировать («привязать») первый аргумент , и построить бинарную функцию такую, что для любых .

В практике программирования частичное применение используется в связи с тем, что функции, полученные путём фиксации некоторого количества аргументов, зачастую оказываются полезными. К примеру, многие языки программирования имеют функцию или оператор инкремента (являющимся фиксацией единицы как одного из аргументов двухместного сложения) или функцию обращения значения. Частичное применение возможно реализовать практически во всех языках программирования, обладающих возможностью определения многоместных функций. В ряде языков есть специализированные конструкции для частичного применения, например, в стандартной библиотеке C++ имеется функция bind, которая на входе принимает имя функции и аргументы, и возвращает функциональный объект — результат частичного применения переданного набора аргументов к функции.

В ряде функциональных языков программирования, таких как ML и Haskell, функции объявляются в каррированной форме по умолчанию, то есть, понятие о многоместности функций реализуется средствами одноместных функций высших порядков; в этих условиях частичным применением (называемом в этих языках сечением операторов) оказывается всякая передача неполного числа аргументов[1].

В языках программирования с функциями первого класса можно определить curry, uncurry и papply, чтобы осуществить каррирование и частичное применение напрямую (при этом связь между ними следующая: curry papply = curry). Но такой подход может привести к дольшему времени выполнения программы в связи с созданием дополнительных замыканий, в то время как Haskell позволяет использовать более эффективные приёмы[2].

Энциклопедичный YouTube

  • 1/3
    Просмотров:
    360
    25 092
    32 729
  • Что такое частичное применение функций? Душкин объяснит
  • Частичное применение и каррирование в JavaScript
  • Что не так с каррированием на JavaScript?

Субтитры

Примечания

  1. Денис Москвин. Сечения композиции как инструмент бесточечного стиля // Практика функционального программирования. — 2010. — № 4. — С. 89—104. Архивировано 22 мая 2017 года.
  2. Марлоу — Пейтон-Джонс, 2004.

Литература

  • Simon Marlow, Simon Peyton Jones. Making a Fast Curry: Push/Enter vs. Eval/Apply for Higher-order Languages // ACM SIGPLAN Notices. — 2004. — Т. 39, № 9 (ICFP ’04 dedicated issue). — doi:10.1145/1016848.1016856.
  • Бенджамин Пирс. Типы в языках программирования = Types and Programming Languages. — Добросвет, 2012. — 680 с. — ISBN 978-5-7913-0082-9.
Эта страница в последний раз была отредактирована 29 декабря 2023 в 11:58.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).