6 Mar
2003
6 Mar
'03
5:35 p.m.
Hi All, I have a data type defined as
data D a = D1 Int | D2 a
Follow this definition, I have D2 Int,D2 Bool and D2 [D2 Int] as instances of type D. I want to write an overloaded function lift which lifts an atom type to D. It is easily done for D2 Int and D2 Bool using type classes.I can have
class Liftable a where lift :: a -> L a
instance Liftable Int where lift x = D2 x
However, I have problem with D2 [D2 Int].I want to lift [Int] to D2 [D2 Int]. Is there any solution to it? Thank you very much. -W-M- @ @ | \_/