1. 09 Mar, 2013 7 commits
  2. 08 Mar, 2013 3 commits
  3. 07 Mar, 2013 2 commits
  4. 06 Mar, 2013 1 commit
  5. 05 Mar, 2013 2 commits
    • Simon Marlow's avatar
      comments · 2b32e867
      Simon Marlow authored
      2b32e867
    • Simon Peyton Jones's avatar
      Ensure that isStrictDmd is False for Absent (fixes Trac #7737) · a37a7f7b
      Simon Peyton Jones authored
      The demand <HyperStr, Absent> for a let-bound value is bit
      strange; it means that the context will diverge, but this
      argument isn't used. We don't want to use call-by-value here,
      even though it's semantically sound if all bottoms mean
      the same.
      
      The fix is easy; just make "isStrictDmd" a bit more perspicuous.
      See Note [Strict demands] in Demand.lhs
      a37a7f7b
  6. 04 Mar, 2013 1 commit
    • Simon Peyton Jones's avatar
      Rearrange the typechecking of arrows, especially arrow "forms" · c3ad38d7
      Simon Peyton Jones authored
      The typechecking of arrow forms (in GHC 7.6) is known to be bogus, as
      described in Trac #5609, because it marches down tuple types that may
      not yet be fully worked out, depending on when constraint solving
      happens.  Moreover, coercions are generated and simply discarded.  The
      fact that it works at all is a miracle.
      
      This refactoring is based on a conversation with Ross, where we
      rearranged the typing of the argument stack, so that the arrows
      have the form
         a (env, (arg1, (arg2, ...(argn, ())))) res
      rather than
         a (arg1, (arg2, ...(argn, env))) res
      as it was before.
      
      This is vastly simpler to typecheck; just look at the beautiful,
      simple type checking of arrow forms now!
      
      We need a new HsCmdCast to capture the coercions generated from
      the argument stack.
      
      This leaves us in a better position to tackle the open arrow tickets
       * Trac #5777 still fails.  (I was hoping this patch would cure it.)
       * Trac #5609 is too complicated for me to grok.  Ross?
       * Trac #344
       * Trac #5333
      c3ad38d7
  7. 03 Mar, 2013 8 commits
  8. 02 Mar, 2013 7 commits
  9. 01 Mar, 2013 3 commits
  10. 28 Feb, 2013 6 commits