
12 Jul
2011
12 Jul
'11
12:22 p.m.
On Tue, Jul 12, 2011 at 7:20 PM, Dan Ross
Hi all-
I'm going through Learn You a Haskell for Great Good and I don't understand the advantage of using (Integral a)=> a vs just Integer as I show below.
Could someone explain this to me?
Thanks,
Dan
lucky :: (Integral a) => a -> String lucky 7 = "LUCKY NUMBER SEVEN!" lucky x = "Sorry, you're out of luck, pal!"
lucky :: Integer -> String lucky 7 = "LUCKY NUMBER SEVEN!" lucky x = "Sorry, you're out of luck, pal!"
Hi Dan, The first version is polymorphic, and will work on *any* instance of Integral. This would allow people to use Int, Int32, Int64, etc. The second version requires the user to pass in specifically an Integer. Michael