import PprType ( GenType, GenTyVar, GenClassOp )
import SpecEnv ( SpecEnv(..) )
import SrcLoc ( mkGeneratedSrcLoc )
import PprType ( GenType, GenTyVar, GenClassOp )
import SpecEnv ( SpecEnv(..) )
import SrcLoc ( mkGeneratedSrcLoc )
-import Type ( mkFunTy, mkTyVarTy, mkDictTy,
+import Type ( mkFunTy, mkTyVarTy, mkTyVarTys, mkDictTy,
mkForAllTy, mkSigmaTy, splitSigmaTy)
import TysWiredIn ( stringTy )
import TyVar ( GenTyVar )
mkForAllTy, mkSigmaTy, splitSigmaTy)
import TysWiredIn ( stringTy )
import TyVar ( GenTyVar )
buildSelectors clas clas_tyvar scs sc_sel_ids ops op_sel_ids
=
-- Make new Ids for the components of the dictionary
buildSelectors clas clas_tyvar scs sc_sel_ids ops op_sel_ids
=
-- Make new Ids for the components of the dictionary
- listNF_Tc (zipWithEqual mk_sel op_sel_ids tc_method_ids) `thenNF_Tc` \ op_sel_binds ->
- listNF_Tc (zipWithEqual mk_sel sc_sel_ids dict_ids) `thenNF_Tc` \ sc_sel_binds ->
+ listNF_Tc (zipWithEqual mk_sel op_sel_ids method_ids) `thenNF_Tc` \ op_sel_binds ->
+ listNF_Tc (zipWithEqual mk_sel sc_sel_ids dict_ids) `thenNF_Tc` \ sc_sel_binds ->
mkSelBind sel_id clas_tyvar clas_dict dicts methods method_or_dict@(TcId op)
= let
(op_tyvars,op_theta,op_tau) = splitSigmaTy (idType op)
mkSelBind sel_id clas_tyvar clas_dict dicts methods method_or_dict@(TcId op)
= let
(op_tyvars,op_theta,op_tau) = splitSigmaTy (idType op)