Информация об изменениях

Сообщение Что общего у "carrying" и "lambda calculus"? от 30.06.2021 19:41

Изменено 01.07.2021 6:22 Эйнсток Файр

Что общего у "carrying" и "lambda calculus"?
Во всех статьях, где описывается что такое каррирование вопрос зачем оно — выносят за рамки статьи.
Приведу цитаты:

Currying provides a way for working with functions that take multiple arguments,
and using them in frameworks where functions might take only one argument.
For example, some analytical techniques can only be applied to functions with a single argument.
Practical functions frequently take more arguments than this.

(какие именно аналитические техники могут быть применены только к функциям одного аргумента?)

Карирование это не продвинутая техника/паттерн работы с функциями.
Это необходимость возникшая в рамках лямбда исчислений,
где вводить функции работающие от более чем одного аргумента
это усложнять красивую стройную концепцию.

(и в чём же суть этого усложнения? что за концепция?)

Меня не интересуют "передача коллбеков по-человечески", "оно используется в LINQ", "удобно в Unit-тестировании".

Меня интересует только для доказательства корректности программ.
(Я прочитал книжку, которую рекомендовали, Дейкстры, кажется,
и там было интересно про алгоритм НОД при помощи специальной машины-не-компьютера,
но до практического написания доказуемо корректных программ у меня пока не дошло).

Статьи в интернете слишком короткие и не связанные между собой.
Книжки слишком сложные. А учить меня никто не обязан. Как жить?
Что общего у "carrying" и "lambda calculus"?
Во всех статьях, где описывается что такое каррирование вопрос зачем оно — выносят за рамки статьи.
Приведу цитаты:

Currying provides a way for working with functions that take multiple arguments,
and using them in frameworks where functions might take only one argument.
For example, some analytical techniques can only be applied to functions with a single argument.
Practical functions frequently take more arguments than this.

(какие именно аналитические техники могут быть применены только к функциям одного аргумента?)

Карирование это не продвинутая техника/паттерн работы с функциями.
Это необходимость возникшая в рамках лямбда исчислений,
где вводить функции работающие от более чем одного аргумента
это усложнять красивую стройную концепцию.

(и в чём же суть этого усложнения? что за концепция?)

Меня не интересуют "передача коллбеков по-человечески", "оно используется в LINQ", "удобно в Unit-тестировании".

Меня интересует только для доказательства корректности программ.
(Я прочитал книжку, которую рекомендовали
Автор: Pzz
Дата: 28.02.21
, Дейкстры,
и там было интересно про алгоритм НОД при помощи специальной машины-не-компьютера,
но до практического написания доказуемо корректных программ у меня пока не дошло).

Статьи в интернете слишком короткие и не связанные между собой.
Книжки слишком сложные. А учить меня никто не обязан. Как жить?