Обсуждение:Каррирование

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Переименование[править код]

Предлагаю переименовать в Карринг, так как этот вариант ближе к оригиналу en:Curring. Каррирование — это уже какие-то языковые выверты. Карри, наверно, в гробу крутиться от таких экспериментов. Хацкер 14:42, 3 апреля 2008 (UTC)[ответить]

(+) За, действительно более популярное название, используется разве что только товарищем Душкиным :-) --Claymore 15:01, 3 апреля 2008 (UTC)[ответить]

Пример[править код]

неплохо бы пример --92.124.122.138 15:32, 29 ноября 2008 (UTC)den[ответить]

пример чего? Хацкер 16:23, 29 ноября 2008 (UTC)[ответить]
Пример каррирования какой-нибудь функции, конечно. --79.143.3.106 16:21, 29 ноября 2009 (UTC)[ответить]

Примеры[править код]

В статье плохие примеры - там жёстко берётся функция + и подставляется один аргумент. Хорошо бы их заменить на каррирование произвольной функции. Могу предложить пример на scheme:

(define (curry f a) (lambda (b) (apply f (append a b))))

(define plus1 (curry + '(1)))

(plus1 '(3)) ; выведет 4

Пример на питоне из Замыкание_(программирование):

curry = lambda func_object, *args: (
    lambda *local_args: (
        func_object(
            *(args + local_args)
        )
    )
)
Обедающий философ 12:00, 27 января 2012 (UTC)[ответить]