Что общего у "carrying" и "lambda calculus"?
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 30.06.21 19:41
Оценка:
Во всех статьях, где описывается что такое каррирование вопрос зачем оно — выносят за рамки статьи.
Приведу цитаты:

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
, Дейкстры,
и там было интересно про алгоритм НОД при помощи специальной машины-не-компьютера,
но до практического написания доказуемо корректных программ у меня пока не дошло).

Статьи в интернете слишком короткие и не связанные между собой.
Книжки слишком сложные. А учить меня никто не обязан. Как жить?
Отредактировано 01.07.2021 6:22 Эйнсток Файр . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.