1. 13 Feb, 2017 1 commit
  2. 11 Feb, 2017 4 commits
    • Leon Gondelman's avatar
      Coercions: · 8ebc05d2
      Leon Gondelman authored
      This commit fixes some bugs for coercions.
      1. Applying coercion should work correctly w.r.t. unification
      (see  modules TrickyPolymorphic(Alpha|Beta) in bench/typing/good/coercions.mlw).
      2. Union of two coercion maps now works correctly w.r.t. adding the same coercion twice
      even if it is transitive closure
      (see module SameTransitivityCheck in bench/typing/good/coercions.mlw).
      3. Coercion error printing is now listing all components of conflicting coercion
      (see bench/typing/bad/coercion_cycle3.mlw for example).
      
      In this version, we still just lookup at head tysymbols to decide whether a coercion
      can be applied. This can be improved by taking into account also the types of arguments
      to decide earlier that a coercion cannot be applied.
      For instance, given
      
      type t 'a
      function f (t int) : int
      meta coercion function f
      goal G: forall x: t bool. x = 42
      
      results now in an error message
      This term has type t bool, but is expected to have type t int
      
      We can do better, detecting that a coercion f cannot be applied to [x] at all.
      To be done.
      8ebc05d2
    • Leon Gondelman's avatar
    • Leon Gondelman's avatar
      gitignore file · 07e25011
      Leon Gondelman authored
      07e25011
    • Mário Pereira's avatar
      Code extraction (wip) · 4ef1a473
      Mário Pereira authored
      Forgetting local variables identifiers
      4ef1a473
  3. 10 Feb, 2017 3 commits
  4. 09 Feb, 2017 6 commits
  5. 08 Feb, 2017 5 commits
  6. 07 Feb, 2017 4 commits
  7. 06 Feb, 2017 1 commit
  8. 05 Feb, 2017 1 commit
  9. 03 Feb, 2017 4 commits
  10. 02 Feb, 2017 4 commits
  11. 01 Feb, 2017 1 commit
  12. 31 Jan, 2017 1 commit
  13. 30 Jan, 2017 2 commits
  14. 29 Jan, 2017 3 commits