1. 26 Oct, 2021 14 commits
  2. 25 Oct, 2021 2 commits
  3. 26 Aug, 2021 4 commits
  4. 24 Aug, 2021 1 commit
  5. 14 Aug, 2021 8 commits
  6. 13 Aug, 2021 6 commits
  7. 10 Aug, 2021 4 commits
    • Leif-Erik Krüger's avatar
      Improve how the source span end is computed for class and instance declarations · fc899df9
      Leif-Erik Krüger authored
      - Previously, when updating the source span end position of a class or instance declaration without a `where` clause, it did not go to the end of the declaration, because the last source info point of the declaration was used, which could, for example, be the double arrow separating the context from the head.
      -- To fix this for class and instance declarations without local declarations, we now compare the end of the last source info point and the source span end of the last class ident, class variable or instance type and take the maximum.
      --- This procedure is necessary because we cannot easily tell if a class or instance declaration has a `where` clause, so we do not know if it ends with that keyword or with the last class ident, class variable or instance type.
      fc899df9
    • Leif-Erik Krüger's avatar
      Update the tests in the "pass" category to test for the added features... · e013c316
      Leif-Erik Krüger authored
      Update the tests in the "pass" category to test for the added features https://git.ps.informatik.uni-kiel.de/theses/2021/2021-lkrueger-ma/-/issues/8
      
      - `MPTCPotentialInstanceOverlap` was added as a new test module. It tests for potential instance overlap that should be accepted.
      - New instances, a new data type with a derived instance and a new test expression testing for a case with potential instance overlap were added to `MPTCDeriving`.
      - New instances and a new test expression testing for a case with multiple super class instances for the correct type constructor, where only one fits in all cases because of its type variables, were added to `MPTCSuperClasses`.
      - The test front-end has been updated to include the added test module and has been run successfully.
      e013c316
    • Leif-Erik Krüger's avatar
      Remove the free type variables from the functions reporting flexible contexts... · 08f12cda
      Leif-Erik Krüger authored
      Remove the free type variables from the functions reporting flexible contexts https://git.ps.informatik.uni-kiel.de/theses/2021/2021-lkrueger-ma/-/issues/8
      
      - Further tests with the GHC have lead to the conclusion that the GHC ignores whether type variable are free when checking for flexible contexts.
      -- To match this behaviour, predicates containing free type variables are no longer filtered out and the parameter for the set of free type variables has therefore been from `reportFlexibleContextDecl` and `reportFlexibleContextPattern`.
      08f12cda
    • Leif-Erik Krüger's avatar
      Fix a bug in the dictionary translation that could lead to dictionary... · dab4d446
      Leif-Erik Krüger authored
      Fix a bug in the dictionary translation that could lead to dictionary arguments being passed in the wrong order https://git.ps.informatik.uni-kiel.de/theses/2021/2021-lkrueger-ma/-/issues/8
      
      - Previously, when looking up in the instance environment to construct a dictionary, a substitution was applied to the predicate set from the instance before converting it to a list.
      -- Because the set is sorted, this substitution could change the order of the predicates, which could lead to arguments being passed on to a dictionary function in the wrong order.
      -- To fix this, the substitution is now applied after converting the predicate set to a list.
      dab4d446
  8. 09 Aug, 2021 1 commit
    • Leif-Erik Krüger's avatar
      Update the tests in the "fail" category to test for the added features... · c7380774
      Leif-Erik Krüger authored
      Update the tests in the "fail" category to test for the added features https://git.ps.informatik.uni-kiel.de/theses/2021/2021-lkrueger-ma/-/issues/8
      
      - The tests should cover the new possibilities for errors when allowing repeating type variables in instance heads.
      - `MPTCDeriving` was added as a new test module. It tests for violations of instance termination rules, instance overlap and missing instances in derived instances.
      - `MPTCInstanceOverlap` was added as a new test module. It tests for different kinds of instance overlap errors occurring during the type check.
      - A new test function was added to `MPTCFlexibleContext` to test for subfunctions that do have a flexible context despite containing free type variables.
      - A test instance was removed from `MPTCInstanceTermination` because it tested for unbound type variables, which is still done in the type syntax check, while the termination checks were moved to a later phase.
      - A new section was added to `MPTCMissingInstance` to test for missing instance errors because of repeating type variables in instance heads.
      - New instances were added to `MPTCMissingSuperClassInstance` to test for missing and overlapping instance errors because of repeating type variables in instance heads.
      - The test front-end has been updated to include the added test modules and the other changes to the expected error messages.
      - The test suite has been run and the test cases fail with the expected error messages (so the test suite passes).
      c7380774