Changes between Version 225 and Version 226 of TypeFunctionsStatus
- 09/28/07 05:58:11 (6 years ago)
v225 v226 42 42 * Unfortunately, it breaks a whole lot of tests in `gadt/`. 43 43 * The remaining problems are partially due to (1) the splitBoxyXXX function issue mentioned above, (2) the occurs check issue mentioned below, (3) the same problem exhibited by GADT9 (with or without this change), (4) some problems getting hold of the right given class constraints, and (5) some random stuff that I haven't looked at more closely. 44 * Handling of cases expression scrutinising GADTs: implement proposal where we generalise the scrutinees inferred type to ensure it is rigid. 44 * Handling of cases expression scrutinising GADTs: 45 * implement proposal where we infer a rigidity flag for case scutinees and pass that down when type checking the patterns, 46 * if a pattern has a GADT constructor (ie, any constraints in the data constructor signature), the scutinee must be rigid, 47 * we need to know of types whether they are rigid (not only whether they contain unification variables, but by a flag in the environment that indicates whether the computation of that type involved non-rigid type variables) 45 48 * 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? 46 49 * `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).