KV
(+) :: Int -> Int -> Int
(немного упростил)Можно скормить ей один аргумент:
(+) 1 :: Int -> Int
Получится функция, которая добавляет единичку
Потом можно ещё один аргумент
(+) 1 2 :: Int
то же что 3
Size: a a a
KV
(+) :: Int -> Int -> Int
(немного упростил)(+) 1 :: Int -> Int
(+) 1 2 :: Int
то же что 3
g
KV
Haskell> let plusThree = (+) 3
Haskell> map plusThree [1..10]
[4,5,6,7,8,9,10,11,12,13]
KV
map (+3) [1..10]
ND
a -> a -> a
применяешь первый аргумент, получаешь функцию вида a -> a
, применяешь второй аргумент, получаешь результат a
KV
KV
g
KV
g
KV
a -> a -> a
. Действительно, можно не ставить скобки(a -> a) -> a
уже другой тип, там надоg
к
f 2
и получить 7, хоть уже нет у нас t в скоупе, это сохранилось в срезе скоупа лямбдыKV
g
KV