
2 Oct
2011
2 Oct
'11
3:55 p.m.
On Sun, Oct 2, 2011 at 8:45 AM, Du Xi
Then again , in typeclass definition how can I express the type "a->b" where "a" is the type parameter of the class and "b" is a type deduced from the rules defined in each instance of the class, which varies on a per-instance basis? e.g.
instance ExampleClass a where f :: a->**SomeTypeWhichIsDifferentInEach**Instance
What I want is some thing like this in C++:
float f(char x){ return 0.1f; } int f(double x){ return 1; }
Use TypeFamilies. {-# LANGUAGE TypeFamilies #} ... type family FType a :: * type instance FType Char = Float type instance FType Double = Int class ExampleClass a where f :: a -> FType a