1. 24 Mar, 2016 13 commits
    • Ben Gamari's avatar
      Show: Restore redundant parentheses around records · 1448f8ab
      Ben Gamari authored
      As discussed in #2530 we are going to continue to produce parentheses
      here in order to preserve compatibility with previous GHC releases. It
      was found that dropped parentheses would break some testsuites which
      compared against output from Show. This has been documented in the users
      This reverts commit 5692643c.
      Test Plan: Validate
      Reviewers: hvr, austin
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D2027
      GHC Trac Issues: #2350
    • Ben Gamari's avatar
      Revert "Various ticky-related work" · ef653f1f
      Ben Gamari authored
      This reverts commit 6c2c853b which was
      supposed to be merged as individual commits.
    • Ben Gamari's avatar
      Add expected output for T9405 · 8335cc73
      Ben Gamari authored
    • Ben Gamari's avatar
      DsExpr: Rip out static/dynamic check in list desugaring · 0db05941
      Ben Gamari authored
      Previously we would try to break explicit lists into a dynamic prefix
      and static tail and desugar the former into a `build` expression.
      Unfortunately, this heuristic resulted in surprising behavior
      (see #11710) and wasn't pulling its weight. Here we drop it (along with
      the `-fsimple-list-literals` flag), leaving only the list length
      heuristic to determine whether `build` or cons list desugaring should be
      Test Plan: Validate
      Reviewers: simonpj, austin
      Reviewed By: simonpj
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D2023
      GHC Trac Issues: #11710
    • kaiha's avatar
      Create empty dump files (fixes #10320) · 9f9345e5
      kaiha authored
      Test Plan: ./validate
      Reviewers: austin, bgamari
      Reviewed By: bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D2015
      GHC Trac Issues: #10320
    • Joachim Breitner's avatar
      Various ticky-related work · 6c2c853b
      Joachim Breitner authored
      this Diff contains small, self-contained changes as I work towards
      fixing #10613. It is mostly created to let harbormaster do its job, but
      feedback is welcome as well.
      Please do not merge this via arc; I’d like to push the individual
      patches as layed out here. I might push mostly trivial ones even without
      review, as long as the build passes.
      Reviewers: austin, bgamari
      Reviewed By: bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D2014
    • Josh Price's avatar
      Add unicode syntax for banana brackets · 03a1bb4d
      Josh Price authored
      Add "⦇" and "⦈" as unicode alternatives for "(|" and "|)" respectively.
      This must be implemented differently than other unicode additions
      because ⦇" and "⦈" are interpretted as a $unigraphic rather than
      a $unisymbol.
      Test Plan: validate
      Reviewers: goldfire, bgamari, austin
      Reviewed By: bgamari, austin
      Subscribers: thomie, mpickering
      Differential Revision: https://phabricator.haskell.org/D2012
      GHC Trac Issues: #10162
    • archblob's avatar
      Close ticky profiling file stream after printing (#9405) · 2708c22b
      archblob authored
      Test Plan: T9405
      Reviewers: simonmar, austin, bgamari
      Reviewed By: simonmar, bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D2008
      GHC Trac Issues: #9405
    • 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
      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
    • 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.
        * 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
    • Ben Gamari's avatar
      Ensure T9646 dump-simpl output is cleaned · da3b29bd
      Ben Gamari authored
    • 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
    • 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
  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.
  4. 21 Mar, 2016 19 commits
  5. 20 Mar, 2016 4 commits
    • Ben Gamari's avatar
      base: Fix CPUTime on Windows · 286c65f2
      Ben Gamari authored
      Arg, silly CPP.
    • Ben Gamari's avatar
      T11145: Fix expected output · e6a44f2a
      Ben Gamari authored
      The uniques seem to keep changing here.
    • Ben Gamari's avatar
      base: Rework System.CPUTime · cb3456d8
      Ben Gamari authored
      This started when I noticed that `getCPUTime` only provides 1
      millisecond resolution on Linux. Unfortunately the previous
      implementation was quite unmaintainable, so this ended up being a bit
      more involved than I expected.
      Here we do several things,
       * Split up `System.CPUTime`
       * Add support for `clock_gettime`, allowing for significantly more
         precise timing information when available
       * Fix System.CPUTime resolution for Windows. While it's hard to get
         reliable numbers, the consensus is that Windows only provides 16
         millisecond resolution in GetProcessTimes (see Python PEP 0418 [1])
       * Eliminate terrible hack wherein we would cast between `CTime` and
         `Integer` through `Double`
      [1] https://www.python.org/dev/peps/pep-0418/#id59
      Test Plan: Validate on various platforms
      Reviewers: austin, hvr, erikd
      Reviewed By: erikd
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D2001
    • kaiha's avatar
      Add test for incompatible flags (issue #11580) · 289d57a6
      kaiha authored
      Reviewers: austin, bgamari
      Reviewed By: bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D2013
      GHC Trac Issues: #11580