Hi all, I have yet another question. I think I have too much time on my hands. I have two functions:
rf :: (RealFloat a, Integral b) => [a] -> b -> Complex a rf x k = ...
cf :: (RealFloat a, Integral b) => [Complex a] -> b -> Complex a cf x k = ...
I would like to add these to the class system so I can create an overloaded version, f.
From my understanding of the Report, the following should work, but I get an error, which I really don't understand.
class (Fractional a) => Floating a where f :: (Integral b) => [a] -> b -> a
instance (RealFloat a) => Floating a where f x k = rf x k
instance (RealFloat a) => Floating (Complex a) where f x k = cf x k
hugs98 spits out ERROR "f.lhs":59 - Syntax error in instance head (constructor expected) where line 59 is the first instance declaration. Can anyone give me some guidance, or hints, here? Thanks a million. -- Matthew Donadio (m.p.donadio@ieee.org)
Le Jeudi 23 Janvier 2003 06:40, Matthew Donadio a écrit :
Hi all,
I have yet another question. I think I have too much time on my hands.
I have two functions:
rf :: (RealFloat a, Integral b) => [a] -> b -> Complex a rf x k = ...
cf :: (RealFloat a, Integral b) => [Complex a] -> b -> Complex a cf x k = ...
I would like to add these to the class system so I can create an overloaded version, f.
From my understanding of the Report, the following should work, but I get an error, which I really don't understand.
class (Fractional a) => Floating a where f :: (Integral b) => [a] -> b -> a
instance (RealFloat a) => Floating a where f x k = rf x k
instance (RealFloat a) => Floating (Complex a) where f x k = cf x k
hugs98 spits out
ERROR "f.lhs":59 - Syntax error in instance head (constructor expected)
where line 59 is the first instance declaration. Can anyone give me some guidance, or hints, here?
Thanks a million.
On the first "instance" you're trying to instantiate "any type a that is a instance of RealFloat". AFAIK you can instantiate only "real" data types like "Complex a". (sorry for the "real" that is not the good term, but I'm just waking up :) ) -- Ciao Jo
participants (2)
-
Johan Baltié -
Matthew Donadio