| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Философия программирования > Замыкания и currying ... |
| Автор: regis 4.6.2007, 14:17 |
| Хотелось бы услышать комментарии людей, хорошо разбирающихся в функциональном программировании. Насколько тесно связаны эти концепции? Например, можео ли сказать, что closure -- это всегда некая curried функция (или несколько), или это будет некорректно? |
| Автор: cherep 10.6.2007, 18:29 |
| По моему скромному, но аффторитетному Curring это когда ты в функции с n параметрами фиксируешь k из них, получаешь функцию от (n-k) параметров. А closure - это когда функция "захватывает" свой локальный контекст, т.е. тот, в котором она определена. |
| Автор: regis 13.6.2007, 12:07 | ||||
Естественно, это разные концепции -- но я говорю о том, что некоторое родство безусловно есть. Вот классический пример closure из Python-мануала:
Здесь make_incrementor возвращает замыкание. Вместе с тем, результат очень похож на currying: один параметр бинарной операции "замораживается", второй остается свободным. |