Я пытаюсь определить мои определения функций функции Haskell. Я взял foldl функции с ее определением являетсяКак читать «Num (a -> b -> a) => a -> [b] -> a" определение
:t foldl
foldl :: (a -> b -> a) -> a -> [b] -> a
Теперь первый аргумент функции, так что если я прохожу его, вот что осталось:
:t foldl (+)
foldl (+) :: Num b => b -> [b] -> b
, которую я прочитал как «функция, которая принимает числовое значение и возвращает функцию, которая принимает массив ».
Теперь, первый аргумент действительно является функцией? Можно ли считать
foldl :: a -> b -> a -> a -> [b] -> a
вместо этого?
Я попытался прохождения только один числовое значение, и вот что у меня есть:
foldl 4 :: Num (a -> b -> a) => a -> [b] -> a
И вопрос .. Как вы это читаете? Я не понимаю, что у меня есть.
нет, его невозможно прочитать. почему вы пытаетесь игнорировать круглые скобки? –