1. 26 Jan, 2016 10 commits
    • Simon Peyton Jones's avatar
      Fix three broken tests involving exceptions · 3798b2aa
      Simon Peyton Jones authored
      See comment:16 in Trac #10712. The tests were wrong, not GHC!
      3798b2aa
    • Herbert Valerio Riedel's avatar
      Update process submodule to 1.4.2.0 release · f1885dfd
      Herbert Valerio Riedel authored
      Most notably, this pulls in a feature needed for #11100 (remote ghci)
      windows-support
      f1885dfd
    • Herbert Valerio Riedel's avatar
      Update transformers submodule to 0.5.1.0 release · 9b716950
      Herbert Valerio Riedel authored
      This shouldn't have any noticeable API changes for GHC
      9b716950
    • Herbert Valerio Riedel's avatar
      5f5dc862
    • Herbert Valerio Riedel's avatar
      Missed plural renaming in user's guide · 34c9a4e4
      Herbert Valerio Riedel authored
      Follow-up to 132c2089
      
      [skip ci]
      34c9a4e4
    • Simon Peyton Jones's avatar
      Fix two cloning-related bugs · 016a0bd1
      Simon Peyton Jones authored
      Crikey!  Not just one but two bugs in type variable cloning,
      both dating from the days before PolyKinds.  Both were shown up
      by Trac #11330.
      
      1. In SetLevels, when floating a case expression we must clone its
         binders, *and* do so in a telescope-aware way, because the
         constructor may bind a kind variable that appears in the kind
         of a type variable.
      
         Instead of doing this (wrongly) by steam, call CoreSubst.cloneBndrs.
      
         I added Notes and did other refactoring at the same time.
      
      2. It turned out that CoreSubst.cloneBndrs calls TyCoRep.cloneTyVarBndr,
         and that too was bogus!  It didn't substitute in the kind of the
         TyVar being cloned.  There was even a comment to say "variables can't
         appear in kinds".  Thta hasn't been true for a long time now.
      
      Easily fixed.
      
      Interestingly, I then found that test
         dependent/should_compile/KindEqualities
      was emitting a new inexhaustive-pattern-match warning.  Sure enough
      it was valid!  So the lack of cloning in cloneTyVarBndr really was
      causing an observable bug; just one that we had not observed.
      016a0bd1
    • Simon Peyton Jones's avatar
      Kill off zipTopTCvSubst in favour of zipOpenTCvSubst · 1c6d70c2
      Simon Peyton Jones authored
      As Bartosz has discovered, the invariants for substitutions were
      wrong, and in particular the "mkTop...Subst" and "zipTop..Subst"
      functions were building substitutions that didn't obey even the
      old invariants.
      
      This patch kills of the bogus zipTopTCvSubst in favour of the
      more robust zipOpenTCvSubst.
      
      I tripped over this because my upcoming patch (concerning SetLevels,
      Trac #11330) triggered an ASSERT failure in the substitution
      well-formedness assertion in TyCoRep.
      1c6d70c2
    • Simon Peyton Jones's avatar
      Add "ticks-exhausted" comment · 47b3f588
      Simon Peyton Jones authored
      This code deliberately builds a subtle negative-occurrence-of-data-type
      example, described in the paper, so with -O it'll give "simplifier
      ticks exhausted".
      
      This patch just adds a comment to explain.
      47b3f588
    • Simon Peyton Jones's avatar
      White space only · cf788a53
      Simon Peyton Jones authored
      cf788a53
    • Simon Peyton Jones's avatar
      Less verbose output for the in-scope set · 632f020b
      Simon Peyton Jones authored
      With -dppr-debug the output for the (ofen-large) InScope set
      was overwhelming.  This makes it smaller.
      
      Only affects debugging.
      632f020b
  2. 25 Jan, 2016 13 commits
  3. 24 Jan, 2016 5 commits
  4. 23 Jan, 2016 11 commits
  5. 22 Jan, 2016 1 commit
    • Ben Gamari's avatar
      rts: Disable tick timer unless really needed · b01288d5
      Ben Gamari authored
      Trac #9105 notes significant CPU usage by an otherwise idle process when
      compiled with profiling. The reason for this is that we keep the tick
      timer active in the profiling RTS even if profiling wasn't requested at
      runtime.
      
      If the user requests any sort of profiling then we need to keep the
      timer active to ensure that samples are collected.
      
      Test Plan: Validate, check CPU usage, ensure profiling still works
      
      Reviewers: simonmar, austin
      
      Reviewed By: simonmar, austin
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1822
      
      GHC Trac Issues: #9105
      b01288d5