Changes between Version 264 and Version 265 of TypeFunctionsStatus
- Nov 19, 2007 7:38:20 AM (9 years ago)
v264 v265 50 50 * In `TcUnify`, make all occurs checks more elaborate. They should only '''defer''' if the checked variable occurs as part of an argument to a type family application; in other cases, still fail right away. DONE? 51 51 * `TcGadt.tcUnifyTys` can now probably be replaced again by the non-side-effecting unifier that was in `types/Unify.hs` (recover from previous repo states). 52 53 52 54 0. `substEqInDict` needs to be symmetric (i.e., also apply right-to-left rules); try to re-use existing infrastructure. It would be neater, easier to understand, and more efficient to have one loop that goes for a fixed point of simultaneously rewriting with given_eqs, wanted_eqs, and type instances. 53 55 0. skolemOccurs for wanteds? At least `F a ~ [G (F a)]` and similar currently result in an occurs check error. Without skolemOccurs in wanted, the occurs check for wanted would need to be smarter (and just prevent cyclic substitutions of the outlined form silently). However, when inferring a type, having the rewrites enabled by skolemOccurs available will leads to potentially simpler contexts.