haskell - How to read "Num (a -> b -> a) => a -> [b] -> a" definition -


i'm trying head around haskell function definitions. took foldl function it's definition being

:t foldl foldl :: (a -> b -> a) -> -> [b] -> 

now first argument function, if pass it, here's what's left:

:t foldl (+) foldl (+) :: num b => b -> [b] -> b 

which read "a function takes numeric value , returns function takes array".

now, first argument function? can read

foldl :: -> b -> -> -> [b] -> 

instead?

i tried passing 1 numeric value, , here's i've got:

foldl 4 :: num (a -> b -> a) => -> [b] -> 

and question is.. how read this? not understand i've got.

the first argument function , hence cannot read as: foldl :: -> b -> -> -> [b] -> a. because -> right associative means a -> b -> c a -> (b -> c) , different (a -> b) -> c


Comments

Popular posts from this blog

java.util.scanner - How to read and add only numbers to array from a text file -

rewrite - Trouble with Wordpress multiple custom querystrings -