X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Ftypes%2FClass.lhs;h=016ce1bfbed54ee6096c2d588f72417780ea15ab;hb=c2cc00b0c295f54cf8fbab195902a9185859946b;hp=3385adc2b31336c139763b321a4e486092936d74;hpb=9e90a28e134b8e5af3f6ec9b7300bc41324fea9c;p=ghc-hetmet.git diff --git a/ghc/compiler/types/Class.lhs b/ghc/compiler/types/Class.lhs index 3385adc..016ce1b 100644 --- a/ghc/compiler/types/Class.lhs +++ b/ghc/compiler/types/Class.lhs @@ -9,7 +9,7 @@ module Class ( DefMeth (..), mkClass, classTyVars, classArity, - classKey, className, classSelIds, classTyCon, + classKey, className, classSelIds, classTyCon, classMethods, classBigSig, classExtraBigSig, classTvsFds, classSCTheta ) where @@ -100,8 +100,13 @@ classArity :: Class -> Arity classArity clas = length (classTyVars clas) -- Could memoise this -classSelIds (Class {classSCSels = sc_sels, classOpStuff = op_stuff}) - = sc_sels ++ [op_sel | (op_sel, _) <- op_stuff] +classSelIds :: Class -> [Id] +classSelIds c@(Class {classSCSels = sc_sels}) + = sc_sels ++ classMethods c + +classMethods :: Class -> [Id] +classMethods (Class {classOpStuff = op_stuff}) + = [op_sel | (op_sel, _) <- op_stuff] classTvsFds c = (classTyVars c, classFunDeps c)