
17 Jun
2012
17 Jun
'12
3:13 a.m.
Let's define a function in GHCi:
Prelude> let f s n = and (map (==s) n) Prelude> :t f f :: Eq a => a -> [a] -> Bool
This is fine. But when I define this function using lambda notation, I get this
Prelude> let f = \s n -> and (map (==s) n) Prelude> :t f f :: () -> [()] -> Bool
which is really weird. Why does this happen?