
20 Jul
2014
20 Jul
'14
9:57 a.m.
On Sun, 20 Jul 2014 00:33:00 -0400, Leza Morais Lutonda
Thanks for the explanation, Niklas, now I understand (I'm understanding) type families and I left with:
class (Signal s, ComplexSignal (ComplexSignalType s), RealSignalType (ComplexSignalType s) ~ s) ⇒ Complexable s where
type ComplexSignalType s
class (Complexable s) ⇒ FourierTransformable s where fft ⦂ ∀ csx. (csx ~ ComplexSignalType s, ComplexSignal csx) ⇒ csx → csx
Maybe more complex than normal?
Thanks again.
Hmm, to be honest I'm not sure if this is effectively any different from what you had in your original example. Does this work as expected w.r.t type inferencing and instance selection?