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 d95mback@dtek.chalmers.se Kapplandsgatan 40 +46 (0)708 26 33 60 S-414 78 GÖTEBORG http://www.dtek.chalmers.se/~d95mback/ SWEDEN OpenPGP ID: 3FA8580B