@@ -69,12 +69,13 @@ unify ctxt env topx topy =
69 un :: Bool -> [(Name, Name)] -> TT Name -> TT Name ->
69 un :: Bool -> [(Name, Name)] -> TT Name -> TT Name ->
70 StateT UInfo
70 StateT UInfo
71 TC [(Name, TT Name)]
71 TC [(Name, TT Name)]
72− un fn names x y
73+-- un fn names x y
73− = let (xf, _) = unApply x
74+-- = let (xf, _) = unApply x
74− (yf, _) = unApply y in
75+-- (yf, _) = unApply y in
75− if headDiff xf yf then unifyFail x y else
76+-- if headDiff xf yf then unifyFail x y else
76− uplus (un' fn names x y)
77+-- uplus (un' fn names x y)
77− (un' fn names (hnf ctxt env x) (hnf ctxt env y))
78+-- (un' fn names (hnf ctxt env x) (hnf ctxt env y))
79 un' :: Bool -> [(Name, Name)] -> TT Name -> TT Name ->
80 un' :: Bool -> [(Name, Name)] -> TT Name -> TT Name ->
80 StateT UInfo
81 StateT UInfo
@@ -119,10 +120,10 @@ unify ctxt env topx topy =
119 (do hf <- un' True bnames fx fy
120 (do hf <- un' True bnames fx fy
120 let ax' = hnormalise hf ctxt env (substNames hf ax)
121 let ax' = hnormalise hf ctxt env (substNames hf ax)
121 let ay' = hnormalise hf ctxt env (substNames hf ay)
122 let ay' = hnormalise hf ctxt env (substNames hf ay)
122− ha <- un False bnames ax' ay'
123+ ha <- un' False bnames ax' ay'
124 combine bnames hf ha)
125 combine bnames hf ha)
125− (do ha <- un False bnames ax ay
126+ (do ha <- un' False bnames ax ay
126 let fx' = hnormalise ha ctxt env (substNames ha fx)
127 let fx' = hnormalise ha ctxt env (substNames ha fx)
127 let fy' = hnormalise ha ctxt env (substNames ha fy)
128 let fy' = hnormalise ha ctxt env (substNames ha fy)
128 hf <- un' False bnames fx' fy'
129 hf <- un' False bnames fx' fy'