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
      guide.
      
      This reverts commit 5692643c.
      
      Test Plan: Validate
      
      Reviewers: hvr, austin
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2027
      
      GHC Trac Issues: #2350
      1448f8ab
    • 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.
      ef653f1f
    • Ben Gamari's avatar
      Add expected output for T9405 · 8335cc73
      Ben Gamari authored
      8335cc73
    • 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
      used.
      
      Test Plan: Validate
      
      Reviewers: simonpj, austin
      
      Reviewed By: simonpj
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2023
      
      GHC Trac Issues: #11710
      0db05941
    • 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
      9f9345e5
    • 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
      6c2c853b
    • Josh Price's avatar
      Add unicode syntax for banana brackets · 03a1bb4d
      Josh Price authored
      Summary:
      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
      03a1bb4d
    • 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
      2708c22b
    • 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 4 commits
    • Ben Gamari's avatar
      base: Fix CPUTime on Windows · 286c65f2
      Ben Gamari authored
      Arg, silly CPP.
      286c65f2
    • Ben Gamari's avatar
      T11145: Fix expected output · e6a44f2a
      Ben Gamari authored
      The uniques seem to keep changing here.
      e6a44f2a
    • 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
      cb3456d8
    • 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
      289d57a6