бессмысленный стиль и частично примененные функции - PullRequest
0 голосов
/ 05 сентября 2018

В Haskell есть две концепции, которые не выглядят одинаково, но я не понимаю разницы. Это «стиль без точек» и «частично применяемые функции».

Для стилей без баллов я получу этот пример:

instead of: sum xs = foldr (+) 0 xs
we can use: sum = foldr (+) 0

Поскольку xs с обеих сторон, мы можем его опустить.

А для частично примененных функций я собираюсь получить этот пример:

increment = add 1   

, что может быть increment n = add 1 n, потому что в момент вызова вам нужно сделать это с аргументом, как в первом примере.

Так в чем же разница между ними?

Но, для меня, в конце концов, это то же самое.

1 Ответ

0 голосов
/ 05 сентября 2018

Pointfree style - стиль реализации функции

Частично примененная функция - это метод создания новых функций

Бессмысленно использует частично примененные функции, но есть и другие методы и комбинаторы https://wiki.haskell.org/Pointfree

Другой распространенный метод Pointfree - это композиция функций

plus2 = increment . increment
...