
17 Jun
2012
17 Jun
'12
6:37 a.m.
Aaaaah, of course! I didn't think I will ever stumble upon this… Thank you!
http://www.haskell.org/haskellwiki/Monomorphism_restriction
On 17 June 2012 08:13, Morel Pisum
wrote: 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?