1. 24 Mar, 2016 5 commits
    • Rik Steenkamp's avatar
      Add `PatSynSigSkol` and modify `PatSynCtxt` · 997312b0
      Rik Steenkamp authored
      As the type of a pattern synonym cannot in general be represented by a
      value of type Type, we cannot use a value `SigSkol (PatSynCtxt n) (Check
      ty)` to represent the signature of a pattern synonym (this causes
      incorrect signatures to be printed in error messages). Therefore we now
      represent it by a value `PatSynSigSkol n` (instead of incorrect
      signatures we simply print no explicit signature).
      
      Furthermore, we rename `PatSynCtxt` to `PatSynBuilderCtxt`, and use
      `SigSkol (PatSynBuilderCtxt n) (Check ty)` to represent the type of a
      bidirectional pattern synonym when used in an expression context.
      Before, this type was represented by a value `SigSkol (PatSynCtxt n)
      (Check ty)`, which caused incorrect error messages.
      
      Also, in `mk_dict_err` of `typecheck\TcErrors.hs` we now distinguish
      between all enclosing implications and "useful" enclosing implications,
      for better error messages concerning pattern synonyms. See `Note [Useful
      implications]`.
      
      See the Phabricator page for examples.
      
      Reviewers: mpickering, goldfire, simonpj, austin, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1967
      
      GHC Trac Issues: #11667
      997312b0
    • Ben Gamari's avatar
      ErrUtils: Add timings to compiler phases · 8048d51b
      Ben Gamari authored
      This adds timings and allocation figures to the compiler's output when
      run with `-v2` in an effort to ease performance analysis.
      
      Todo:
        * Documentation
        * Where else should we add these?
        * Perhaps we should remove some of the now-arguably-redundant
          `showPass` occurrences where they are
        * Must we force more?
        * Perhaps we should place this behind a `-ftimings` instead of `-v2`
      
      Test Plan: `ghc -v2 Test.hs`, look at the output
      
      Reviewers: hvr, goldfire, simonmar, austin
      
      Reviewed By: simonmar
      
      Subscribers: angerman, michalt, niteria, ezyang, thomie
      
      Differential Revision: https://phabricator.haskell.org/D1959
      8048d51b
    • Ben Gamari's avatar
      Ensure T9646 dump-simpl output is cleaned · da3b29bd
      Ben Gamari authored
      da3b29bd
    • Ben Gamari's avatar
      base: Fix ClockGetTime on OS X · 2ddfb757
      Ben Gamari authored
      Apparently _POSIX_CPUTIME may be defined as -1 if
      CLOCK_PROCESS_CPUTIME_ID isn't defined.
      
      Test Plan: Validate
      
      Reviewers: austin, hvr, erikd, goldfire
      
      Reviewed By: erikd, goldfire
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2028
      
      GHC Trac Issues: #11733
      2ddfb757
    • bollmann's avatar
      Fix regression test for #11145. · e57b9ffe
      bollmann authored
      Test Plan: ./validate
      
      Reviewers: austin, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2032
      
      GHC Trac Issues: #11145
      e57b9ffe
  2. 23 Mar, 2016 3 commits
  3. 22 Mar, 2016 1 commit
    • eir@cis.upenn.edu's avatar
      Avoid running afoul of the zipTvSubst check. · 0beb82c1
      eir@cis.upenn.edu authored
      addDataConStupidTheta includes comments that the types list
      might be longer than the tvs list. And the check in zipTvSubst
      doesn't appear to be terribly recent. I am utterly flummoxed
      as to why this worked before. It was clearly just broken.
      And now it's fixed.
      0beb82c1
  4. 21 Mar, 2016 19 commits
  5. 20 Mar, 2016 12 commits