- Thanks to Roman for spotting the problem.
import FastString
import ListSetOps
import Module
import FastString
import ListSetOps
import Module
%************************************************************************
%* *
%************************************************************************
%* *
mkSpecOcc = mk_simple_deriv varName "$s"
mkForeignExportOcc = mk_simple_deriv varName "$f"
mkNewTyCoOcc = mk_simple_deriv tcName ":Co"
mkSpecOcc = mk_simple_deriv varName "$s"
mkForeignExportOcc = mk_simple_deriv varName "$f"
mkNewTyCoOcc = mk_simple_deriv tcName ":Co"
-mkInstTyCoOcc = mk_simple_deriv tcName ":Co" -- derived from rep ty
+mkInstTyCoOcc = mk_simple_deriv tcName ":CoF" -- derived from rep ty
mkEqPredCoOcc = mk_simple_deriv tcName "$co"
-- Generic derivable classes
mkEqPredCoOcc = mk_simple_deriv tcName "$co"
-- Generic derivable classes
case new_or_data of
DataType -> return (mkDataTyConRhs data_cons)
NewType -> ASSERT( isSingleton data_cons )
case new_or_data of
DataType -> return (mkDataTyConRhs data_cons)
NewType -> ASSERT( isSingleton data_cons )
- mkNewTyConRhs tc_name tycon (head data_cons)
+ mkNewTyConRhs rep_tc_name tycon (head data_cons)
; buildAlgTyCon rep_tc_name t_tvs stupid_theta tc_rhs Recursive
False h98_syntax (Just (family, t_typats))
-- We always assume that indexed types are recursive. Why?
; buildAlgTyCon rep_tc_name t_tvs stupid_theta tc_rhs Recursive
False h98_syntax (Just (family, t_typats))
-- We always assume that indexed types are recursive. Why?