1. 26 Dec, 2020 1 commit
  2. 16 Sep, 2020 2 commits
  3. 15 Sep, 2020 2 commits
  4. 14 Sep, 2020 1 commit
  5. 10 Sep, 2020 4 commits
    • Csongor Kiss's avatar
      Don't show quantified matchabilities · 02bebb9a
      Csongor Kiss authored
      unless -fprint-explicit-matchabilities is on.
      02bebb9a
    • Csongor Kiss's avatar
      Hack: reshuffle scope check · 0ab37ec6
      Csongor Kiss authored
      TODO: revisit this once the kind inference story
      has reached consensus.
      0ab37ec6
    • Csongor Kiss's avatar
      Update tests · ed0f12a5
      Csongor Kiss authored
      ed0f12a5
    • Csongor Kiss's avatar
      Implement new inference strategy for CUSKs · f1028408
      Csongor Kiss authored
      This changes back the meaning of a CUSK to
      pre-matchability times. In other words,
      we have a CUSK just when all kind variables are
      spelled out explicitly.
      
      There's a twist though:
      
        type family Foo :: k -> Type where
      
      has a CUSK, but it also has a hidden matchability variable. We're just
      going to infer it. Perhaps I should introduce a notion of a "complete
      user supplied matchability signature" or something along those lines.
      
      This change makes the handling of CUSKs backwards compatible.
      f1028408
  6. 09 Sep, 2020 8 commits
  7. 07 Sep, 2020 11 commits
    • Csongor Kiss's avatar
      2a8a9fae
    • Csongor Kiss's avatar
      Revert changes in core libraries · 410449e4
      Csongor Kiss authored
      Matchability inference now correctly handles them.
      410449e4
    • Csongor Kiss's avatar
      Report errors when wrong matchabilities given · bb3a6592
      Csongor Kiss authored
      Instead of silently fixing them.
      
      Data families can't be unmatchable (or matchability polymorphic).
      bb3a6592
    • Csongor Kiss's avatar
      Add TH test case · 2837a108
      Csongor Kiss authored
      2837a108
    • Csongor Kiss's avatar
      Properly quote visible dependent forall · 4a98fe14
      Csongor Kiss authored
      4a98fe14
    • Csongor Kiss's avatar
      8619171c
    • Csongor Kiss's avatar
      Fix test case T7938 · 7d68dffe
      Csongor Kiss authored
      7d68dffe
    • Csongor Kiss's avatar
      Fix skolem scope when matching SAKS with inline kind signature · e1f3fd15
      Csongor Kiss authored
      Wrap an implication constraint around the unification of inline
      kind signatures and standalone kind signatures in order to record
      the provenance of the involved skolem variables.
      
      The test case 'T18640a' contains a program that no longer panics due
      to missing skolem info.
      
      The test case 'saks_fail019' is affected by this change, as it contains an
      example program where the skolem info was missing but this went
      unnoticed as the error reporting code never tried to access the skolem
      info (since only the reporter for implications attempts to do such a thing).
      e1f3fd15
    • Csongor Kiss's avatar
      Wrap an implication around type family instances · 51d1f146
      Csongor Kiss authored
      We create implication constraints around type family instances to
      record the skolem information of the type variables bound in the
      family instances.
      
      The test case T18640b contains a program that no longer panics due to
      missing skolem info.
      
      However, making this change uncovered other bugs where skolem variables
      had no skolem info. These bugs had gone unnoticed as it so happened that no
      implication constraint was involved and so the error reporting mechanism
      didn't bother looking for the skolem info of the variables in question.
      
      This patch fixes two such sources of variables:
      
      1) in type family signatures (the affected test case is T14887) which
      are dealt with by adding the type family TyCon's binders to the skolems
      of the type family equations.
      
      2) in the class instance declaration for associated type
      families (relevant test case T15870). The instance can bind type
      variables explicitly, but can also bind variables *implicitly* (such as
      the kinds of the explicitly bound ones), and these need to be added to the
      skolems too. Therefore InClsInst now also stores the inferred tyvars.
      51d1f146
    • Csongor Kiss's avatar
      Wrap an implication around type synonyms · 5146ae25
      Csongor Kiss authored
      5146ae25
    • Csongor Kiss's avatar
      Tame StandaloneKindSignatures · 28cef7c8
      Csongor Kiss authored
      We do matchability inference here, as outlined in
      Note [Matchability inference for SAKS] in GHC.Tc.Gen.HsType.
      28cef7c8
  8. 06 Sep, 2020 4 commits
  9. 02 Sep, 2020 1 commit
  10. 01 Sep, 2020 6 commits