tor 2002-05-23 klockan 15.38 skrev Jos Mistiaen:
> Hello,
> 
> I m having some difficulties with the following thing:
> 
> I've made a class which looks somehow like this:
> class A a where
>    inc::a->a
>    ....
> 
> now, when I want to make a instance of it with type Int and define the
> function inc like this:
> 
> instance A Int where
>      inc a = a + 1
> 
> I can't make a call to it when I enter the folowing
> 
> inc 5
> 
> (When I type inc 5::Int it does the job perfectly, because I explicitly say 
> 5 is an Integer, but how can I tell the program 5 is an Int?????ithout 
> saying it explicitly in the prompt)

Because 5 does not have type Int, it has type Num a => a which means
that 5 can have any numeric type.

Since + works for any numeric type, you can make your instance more
general (so that it works for any numeric type, including Int)

instance Num a => A a where
  inc a = a + 1

Regards,

        Martin

-- 
Martin Norb�ck          [EMAIL PROTECTED]              
Kapplandsgatan 40       +46 (0)708 26 33 60                    
S-414 78  G�TEBORG      http://www.dtek.chalmers.se/~d95mback/
SWEDEN                  OpenPGP ID: 3FA8580B

Attachment: signature.asc
Description: PGP signature

Reply via email to