@@ -61,18 +61,46 @@ binderTy (Guess t1 t2) = t1
6161binderTy (PVar t) = t
6262binderTy (PVTy t) = t
6363
64−instance Show TTName where
65− show (UN str) = "(UN " ++ str ++ ")"
66− show (NS n ns) = "(NS " ++ show n ++ " " ++ show ns ++ ")"
67− show (MN i str) = "(MN " ++ show i ++ " " ++ show str ++ ")"
68− show NErased = "NErased"
69−
70−instance Eq TTName where
71− (UN str1) == (UN str2) = str1 == str2
72− (NS n ns) == (NS n' ns') = n == n' && ns == ns'
73− (MN i str) == (MN i' str') = i == i' && str == str'
74− NErased == NErased = True
75− x == y = False
64+mutual
65+ instance Show SpecialName where
66+ show (WhereN i n1 n2) = "(WhereN " ++ show i ++ " " ++
67+ show n1 ++ " " ++ show n2 ++ ")"
68+ show (WithN i n) = "(WithN " ++ show i ++ " " ++ show n ++ ")"
69+ show (InstanceN i ss) = "(InstanceN " ++ show i ++ " " ++ show ss ++ ")"
70+ show (ParentN n s) = "(ParentN " ++ show n ++ " " ++ show s ++ ")"
71+ show (MethodN n) = "(MethodN " ++ show n ++ ")"
72+ show (CaseN n) = "(CaseN " ++ show n ++ ")"
73+ show (ElimN n) = "(ElimN " ++ show n ++ ")"
74+ show (InstanceCtorN n) = "(InstanceCtorN " ++ show n ++ ")"
75+ show (MetaN parent meta) = "(MetaN " ++ show parent ++ " " ++ show meta ++ ")"
76+
77+ instance Show TTName where
78+ show (UN str) = "(UN " ++ str ++ ")"
79+ show (NS n ns) = "(NS " ++ show n ++ " " ++ show ns ++ ")"
80+ show (MN i str) = "(MN " ++ show i ++ " " ++ show str ++ ")"
81+ show (SN sn) = "(SN " ++ assert_total (show sn) ++ ")"
82+ show NErased = "NErased"
83+
84+mutual
85+ instance Eq TTName where
86+ (UN str1) == (UN str2) = str1 == str2
87+ (NS n ns) == (NS n' ns') = n == n' && ns == ns'
88+ (MN i str) == (MN i' str') = i == i' && str == str'
89+ NErased == NErased = True
90+ (SN sn) == (SN sn') = assert_total $ sn == sn'
91+ x == y = False
92+
93+ instance Eq SpecialName where
94+ (WhereN i n1 n2) == (WhereN i' n1' n2') = i == i' && n1 == n1' && n2 == n2'
95+ (WithN i n) == (WithN i' n') = i == i' && n == n'
96+ (InstanceN i ss) == (InstanceN i' ss') = i == i' && ss == ss'
97+ (ParentN n s) == (ParentN n' s') = n == n' && s == s'
98+ (MethodN n) == (MethodN n') = n == n'
99+ (CaseN n) == (CaseN n') = n == n'
100+ (ElimN n) == (ElimN n') = n == n'
101+ (InstanceCtorN n) == (InstanceCtorN n') = n == n'
102+ (MetaN parent meta) == (MetaN parent' meta') = parent == parent' && meta == meta'
103+ _ == _ = False
76104
77105instance Show TTUExp where
78106 show (UVar i) = "(UVar " ++ show i ++ ")"