>>846
foldr :: (a -> b -> b) -> b -> [a] -> b
だけど、b -> [a] の部分は引数を与えてないよね。


もっと分かりやすい例を挙げるとすれば、

plus :: Int -> Int -> Int
plus x y = x + y

という足し算の関数を定義したとして、
数字を1増やす関数succは

succ :: Int -> Int
succ = plus 1

というように定義することができるんだよ。
引数の一部を与えて新しい関数を作ることが出来るっていう機能だよ。