
20 May
2014
20 May
'14
9:34 p.m.
Hi all, I have a typeclass, which defines the following two member functions: (t is a Rose Tree.) getCompNodes :: t -> [CompNode a] getAllCompNodes :: t -> [CompNode a] getAllCompNodes t = getCompNodes t ++ (concatMap getAllCompNodes (subForest t)) The first one must be defined uniquely by each instance, but the second never needs a unique definition. So, I provided its implementation in the typeclass definition, as shown. However, I don’t get the expected behavior! If I copy and paste the code, above, for getAllCompNodes into my instance definition, then I get the expected results. Does anyone know why this is happening? Thanks, -db