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
signature.asc
Description: PGP signature
