
2 Feb
2004
2 Feb
'04
6:47 a.m.
Because the 'cast' operator used in generics, works on having a concrete type to cast to. What you need to do is: module TypeTest where import Data.Generics class Data a => MyClass a instance MyClass ExampleType1 instance MyClass ExampleType2 special :: ExampleType1 -> ExampleType1 special = ... special2 :: ExampleType2 -> ExampleType2 special2 = ... generic :: MyClass a => a -> a generic = everywhere (mkT special `extT` special2 ...) Regards, Keean.