[Haskell-beginners] (Integral a) => a vs Integer

Dan Ross dan at rosspixelworks.com
Tue Jul 12 19:27:28 CEST 2011


Cool. Thanks.

On Tue, 12 Jul 2011 19:57:38 +0300, Michael Snoyman wrote:
> Precisely.
>
> On Tue, Jul 12, 2011 at 7:44 PM, Dan Ross <dan at rosspixelworks.com> 
> wrote:
>> Ah. Because Integer is an instance of Integral right?
>>
>> So using Integer would be more restrictive.
>>
>> On Tue, 12 Jul 2011 19:22:36 +0300, Michael Snoyman wrote:
>>>
>>> On Tue, Jul 12, 2011 at 7:20 PM, Dan Ross <dan at rosspixelworks.com> 
>>> wrote:
>>>>
>>>> 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
>>
>>




More information about the Beginners mailing list