
27 Jan
2005
27 Jan
'05
7:24 a.m.
Jim,
Why is
gfindtype :: (Data x, Data y) => x -> Maybe y
and not
gfindtype :: (Data x, Typeable y) => x -> Maybe y
?
Because you're not always interested in a subterm of the same type as the parent node. gfindtype "abc" :: Maybe Char -- yields Just 'a' gfindtype "abc" :: Maybe String -- yields Just "bc" HTH, Stefan