Changes between Version 2 and Version 3 of Ticket #15142, comment 5


Ignore:
Timestamp:
Jun 1, 2018 2:46:44 PM (17 months ago)
Author:
simonpj
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #15142, comment 5

    v2 v3  
    3434* For non-CUSKs, we can safely simply make `T :: kappa`, without looking at the declaration at all!  We can perhaps save ourselves a bit of fruitless unification by seeing that if its `data T (a :: ...) (b :: ...)` then we can make `T :: kappa1 -> kappa2 -> *`.  But we don't have to look into those "..." parts; that's going to happen later.  No `solveEqualities` for non-CUSKs.
    3535
     36  PS: "later" for the "..." parts means `kcTyClTyVars`; and that currently ignores the signature; we'd need to change that.
     37
    3638* Associated types should not be allowed to mess things up!  They must be treated as CUSK-ish only if they are in fact complete. Fundamentally, the same rules should apply: every type variable should be annotated.  But maybe we can make an exception for variables from the parent class, if the parent class has a CUSK.  Eg
    3739{{{