Changes between Version 270 and Version 271 of TypeFunctionsStatus
- Timestamp:
- 11/19/07 22:54:05 (6 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TypeFunctionsStatus
v270 v271 16 16 * #1723 (type families & GADTs) [will be fixed when GADTs are implemented by equalities; we'll want to add the test case to the testsuite] 17 17 * #1716 (bogus evidence generation with type equalities) 18 * #1715 (iface problem, which is tricky to reproduce )18 * #1715 (iface problem, which is tricky to reproduce...not anymore, also appears in package ndp) 19 19 * #1769 (deriving typeable for data families) 20 20 … … 39 39 GADT4(normal) 40 40 GADT5(normal) 41 GADT7(normal) 41 -- GADT7(normal) -- fails due to current rigidity test 42 42 Unexpected failures: 43 43 GADT3(normal) -- ok, just tickles a known bug … … 45 45 == typecheck/ == 46 46 Unexpected failures: 47 tcfail167(normal) -- Doesn't produce inaccessible case alternative message anymore. 48 tcfail172(normal) -- Passes the non-rigid context example...is this good or bad? 47 tcfail167(normal) -- Doesn't produce inaccessible case alternative message anymore. 49 48 50 49 == gadt/ == … … 54 53 doaitse(normal) -- maybe same problem as in equal 55 54 equal(normal) -- GADT givens (from pattern matching) don't seem to be used to discharge GADT wanteds (demanded by rhs) 56 gadt13(normal) -- Passes the non-rigid context example...is this good or bad?57 55 gadt18(normal) -- GADT equalities not properly propagated in class instances 58 56 gadt21(normal) -- OK! Appears to just be a different error message. 59 57 gadt22(normal) -- CoreLint failure 60 gadt7(normal) -- Passes the non-rigid context example...is this good or bad?61 58 gadt9(normal) -- seems like the problem with equal 62 59 lazypatok(normal) -- May actually be better than before! … … 68 65 }}} 69 66 * Handling of cases expression scrutinising GADTs: 67 * Remove the dodgy rigidity test that is in `tcConPat` right now. 70 68 * implement proposal where we infer a rigidity flag for case scutinees and pass that down when type checking the patterns, 69 * We infer the rigidity flag for the case scrutinee by generalising its type and checking whether that has an foralls at the top. It's rigid if it has no foralls. 71 70 * if a pattern has a GADT constructor (ie, any constraints in the data constructor signature), the scutinee must be rigid, 72 71 * 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)
