Карринг
Библиотека Xoltar toolkit (автор Bryn Keller) включает модуль functional, который позволяет упростить использование возможностей функционального программирования. Модуль functional применяет "чистый" Python. Библиотеку можно найти по адресу: http://sourceforge.net/projects/xoltar-toolkit.
При карринге (частичном применении) функции создается новая функция, задавая некоторые аргументы исходной. Следующий пример иллюстрирует частичное применение вычитания:
from functional import curry def subtract(x, y): return x - y
print subtract(3, 2) subtract_from_3 = curry(subtract, 3) print subtract_from_3(2) print curry(subtract, 3)(2)
Во всех трех случаях будет выведено 1. В следующем примере получается новая функция, подставляя второй аргумент. Вместо другого аргумента вставляется специальное значение Blank:
from functional import curry, Blank def subtract(x, y): return x - y
print subtract(3, 2) subtract_2 = curry(subtract, Blank, 2) print subtract_2(3) print curry(subtract, Blank, 2)(3)