Changes between Version 309 and Version 310 of TypeFunctionsStatus


Ignore:
Timestamp:
Apr 7, 2008 7:54:49 AM (6 years ago)
Author:
chak
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TypeFunctionsStatus

    v309 v310  
    3434 0. Allow repeated variable occurrences in lhses of type instances (see paper). 
    3535 0. Replacing GADT refinements by explicit equality constraints: 
    36     * CLEANUP: 
    37      * `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). 
    38      * What else? 
    3936    * Regressions that remain to be fixed:  
    4037      * `gadt/lazypatok` needs to be fixed (are irrefutable patterns really ok, see http://okmij.org/ftp/Haskell/GADT-problem.hs]?) 
     
    4643      * if a pattern has a GADT constructor (ie, any constraints in the data constructor signature), the scutinee must be rigid, 
    4744      * 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) 
    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? 
    4945    * Re `tcfail167`, SPJ proposes that could generate a better error message, at least most of the time.  If the "expected type" of a pattern is 's', and we meet a constructor with result type (T t1 ..tn), then one could imagine a 2-step process: 
    5046      1. check that 's' is (or can be made to be) of form (T ....) 
     
    166162 * Enforce syntactic constraints on type instances needed to ensure the termination of constraint entailment checking. 
    167163 * Equality constraint normalisation and coercion term generation. 
     164 * GADT type checking implemented with equality and implication constraints. 
    168165 
    169166== Desugaring ==