1. 10 Apr, 2016 9 commits
    • Jason Eisenberg's avatar
      Fix suggestions for unbound variables (#11680) · 470d4d5b
      Jason Eisenberg authored
      When the typechecker generates the error message for an out-of-scope
      variable, it now uses the GlobalRdrEnv with respect to which the
      variable is unbound, not the GlobalRdrEnv which is available at the time
      the error is reported.  Doing so ensures we do not provide suggestions
      which themselves are out-of-scope (because they are bound in a later
      inter-splice group).
      
      Nonetheless, we do note in the error message if an unambiguous, exact
      match to the out-of-scope variable is found in a later inter-splice
      group, and we specify where that match is not in scope.
      
      Test Plan: ./validate
      
      Reviewers: goldfire, austin, bgamari
      
      Reviewed By: goldfire
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2000
      
      GHC Trac Issues: #11680
      470d4d5b
    • conal's avatar
      Export zonkEvBinds from TcHsSyn. · 5a1add13
      conal authored
      Needed for constructing correct constraint-satisfying code
      (particularly type class instances) in a Core-to-Core transformation.
      
      Reviewers: simonpj, austin, bgamari
      
      Reviewed By: austin, bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2088
      
      GHC Trac Issues: #11804
      5a1add13
    • Herbert Valerio Riedel's avatar
      Reduce default for -fmax-pmcheck-iterations from 1e7 to 2e6 · d2e05c6b
      Herbert Valerio Riedel authored
      The commit 28f951ed introduced the
      `-fmax-pmcheck-iterations` flag and set the default limit to 1e7
      iterations.
      
      However, this value is still high enough that it can result GHC to
      exhibit memory spikes beyond 1 GiB of RAM usage (heap profile showed
      several `(:)`s, as well as `THUNK_2_0`, and `PmCon` during the memory
      spikes)
      
      A value of 2e6 seems to be a safer upper bound which still manages to
      let the checker not run into the limit in most cases.
      
      Test Plan: Validate, try building a few Hackage packages
      
      Reviewers: austin, gkaracha, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2095
      d2e05c6b
    • bollmann's avatar
      Fix Template Haskell bug reported in #11809. · 2f82da76
      bollmann authored
      Record selectors of data types spliced in with Template Haskell are not
      renamer-resolved correctly in GHC HEAD. The culprit is
      `newRecordSelector` which violates notes `Note [Binders in Template
      Haskell] in Convert.hs` and `Note [Looking up Exact RdrNames] in
      RnEnv.hs`. This commit fixes `newRecordSelector` accordingly.
      
      Test Plan: ./validate
      
      Reviewers: thomie, mpickering, bgamari, austin, simonpj, goldfire
      
      Reviewed By: goldfire
      
      Differential Revision: https://phabricator.haskell.org/D2091
      
      GHC Trac Issues: #11809
      2f82da76
    • wereHamster's avatar
      Remove spurious STG_UNUSED annotation · 6d7fda5e
      wereHamster authored
      Reviewers: austin, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2096
      6d7fda5e
    • Herbert Valerio Riedel's avatar
      Remove left-over shell-tools.c · f3beed35
      Herbert Valerio Riedel authored
      The last user of this file was the "-dynload wrapper"
      which was removed in 169f5972
      for addressing #4275
      
      Reviewers: austin, erikd, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2098
      
      GHC Trac Issues: #4275
      f3beed35
    • Chris Martin's avatar
      Add doc to (<=<) comparing its type to (.) · 90d66ded
      Chris Martin authored
      This is another documentation addition similar to D1989, this time
      comparing the type of the Kleisli composition operator (<=<) to that
      of plain function composition (.).
      
      Reviewers: hvr, austin, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2100
      90d66ded
    • snoyberg's avatar
      Provide an optimized replicateM_ implementation #11795 · c4a7520e
      snoyberg authored
      In my testing, the worker/wrapper transformation applied here
      significantly decreases the number of allocations performed when using
      replicateM_. Additionally, this version of the function behaves
      correctly for negative numbers (namely, it will behave the same as
      replicateM_ 0, which is what previous versions of base have done).
      
      Reviewers: bgamari, simonpj, hvr, austin
      
      Reviewed By: bgamari, simonpj, austin
      
      Subscribers: nomeata, simonpj, mpickering, thomie
      
      Differential Revision: https://phabricator.haskell.org/D2086
      
      GHC Trac Issues: #11795
      c4a7520e
    • Simon Marlow's avatar
      Refactor comments about shutdown · 485608d3
      Simon Marlow authored
      485608d3
  2. 08 Apr, 2016 3 commits
  3. 07 Apr, 2016 7 commits
  4. 06 Apr, 2016 6 commits
  5. 05 Apr, 2016 2 commits
  6. 04 Apr, 2016 5 commits
    • Eric Seidel's avatar
      Don't infer CallStacks · 7407a66d
      Eric Seidel authored
      We originally wanted CallStacks to be opt-in, but dealing with let
      binders complicated things, forcing us to infer CallStacks. It turns
      out that the inference is actually unnecessary though, we can let the
      wanted CallStacks bubble up to the outer context by refusing to
      quantify over them. Eventually they'll be solved from a given CallStack
      or defaulted to the empty CallStack if they reach the top.
      
      So this patch prevents GHC from quantifying over CallStacks, getting us
      back to the original plan. There's a small ugliness to do with
      PartialTypeSignatures, if the partial theta contains a CallStack
      constraint, we *do* want to quantify over the CallStack; the user asked
      us to!
      
      Note that this means that
      
        foo :: _ => CallStack
        foo = getCallStack callStack
      
      will be an *empty* CallStack, since we won't infer a CallStack for the
      hole in the theta. I think this is the right move though, since we want
      CallStacks to be opt-in. One can always write
      
        foo :: (HasCallStack, _) => CallStack
        foo = getCallStack callStack
      
      to get the CallStack and still have GHC infer the rest of the theta.
      
      Test Plan: ./validate
      
      Reviewers: goldfire, simonpj, austin, hvr, bgamari
      
      Reviewed By: simonpj, bgamari
      
      Subscribers: bitemyapp, thomie
      
      Projects: #ghc
      
      Differential Revision: https://phabricator.haskell.org/D1912
      
      GHC Trac Issues: #11573
      7407a66d
    • Ben Gamari's avatar
      Bump binary submodule · 9b6820cd
      Ben Gamari authored
      9b6820cd
    • Simon Peyton Jones's avatar
      Elaborate test for #11376 · b3ecd047
      Simon Peyton Jones authored
      This just adds the Prox stuff from the Description in Trac #11376
      to the test case,
      
      The class stuff seems weird becuase the type is ambiguous
      b3ecd047
    • Jason Eisenberg's avatar
      rts: Make StablePtr derefs thread-safe (#10296) · 90d7d608
      Jason Eisenberg authored
      Stable pointers can now be safely dereferenced while the stable pointer
      table is simultaneously being enlarged.
      
      Test Plan: ./validate
      
      Reviewers: ezyang, austin, bgamari, simonmar
      
      Subscribers: carter, thomie
      
      Differential Revision: https://phabricator.haskell.org/D2031
      
      GHC Trac Issues: #10296
      90d7d608
    • Simon Peyton Jones's avatar
      Deeply instantiate in :type · f2a2b79f
      Simon Peyton Jones authored
      See Trac #11376 and
       Note [Deeply instantiate in :type] in TcRnDriver
      
      Sadly this showed up one new problem (Trac #11786) and one opportunity
      (Trac #11787), so test T11549 is now marked expect-broken on these two.
      f2a2b79f
  7. 02 Apr, 2016 1 commit
    • Rik Steenkamp's avatar
      Improve printing of pattern synonym types · 72bd7f7b
      Rik Steenkamp authored
      Add the function `pprPatSynType :: PatSyn -> SDoc` for printing pattern
      synonym types, and remove the ambiguous `patSynType` function. Also,
      the types in a `PatSyn` are now tidy.
      
      Haddock submodule updated to reflect the removal of `patSynType` by
      mpickering.
      
      Fixes: #11213.
      
      Reviewers: goldfire, simonpj, austin, mpickering, bgamari
      
      Reviewed By: simonpj, mpickering
      
      Subscribers: bollmann, simonpj, thomie
      
      Differential Revision: https://phabricator.haskell.org/D1896
      
      GHC Trac Issues: #11213
      72bd7f7b
  8. 01 Apr, 2016 1 commit
  9. 31 Mar, 2016 6 commits