[Haskell-beginners] lambda notation vs function-argument notation in GHCi

Morel Pisum morel.pisum at googlemail.com
Sun Jun 17 12:37:22 CEST 2012


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 <morel.pisum at googlemail.com> 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?




More information about the Beginners mailing list