- returnM (cls_nm, gen_binds_fn fix_env cls_nm tycon)
- where
- cls_nm = className clas
- (clas, tycon) = simpleDFunClassTyCon dfun
-
-gen_binds_fn fix_env cls_nm
- = assoc "gen_bind:bad derived class"
- gen_list (nameUnique cls_nm)
- where
- gen_list = [(eqClassKey, gen_Eq_binds)
- ,(ordClassKey, gen_Ord_binds)
- ,(enumClassKey, gen_Enum_binds)
- ,(boundedClassKey, gen_Bounded_binds)
- ,(ixClassKey, gen_Ix_binds)
- ,(showClassKey, gen_Show_binds fix_env)
- ,(readClassKey, gen_Read_binds fix_env)
- ]
+ let
+ (clas, tycon) = simpleDFunClassTyCon dfun
+ gen_binds_fn = assoc "gen_bind:bad derived class"
+ gen_list (getUnique clas)
+
+ gen_list = [(eqClassKey, gen_Eq_binds)
+ ,(ordClassKey, gen_Ord_binds)
+ ,(enumClassKey, gen_Enum_binds)
+ ,(boundedClassKey, gen_Bounded_binds)
+ ,(ixClassKey, gen_Ix_binds)
+ ,(showClassKey, gen_Show_binds fix_env)
+ ,(readClassKey, gen_Read_binds fix_env)
+ ,(typeableClassKey,gen_Typeable_binds)
+ ]
+ in
+ returnM (dfun, gen_binds_fn tycon)