Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Apr 1, 2014
  1. @dreixel

    Typo

    dreixel authored
Commits on Mar 27, 2014
  1. @hvr

    add /Since/ annotation

    hvr authored
Commits on Mar 24, 2014
  1. @thoughtpolice

    Mark Data.Coerce as Unsafe (#8827)

    thoughtpolice authored
    Signed-off-by: Austin Seipp <austin@well-typed.com>
  2. @yav

    Comments only.

    yav authored
    Fix the documentation on CmpSymbol and CmpNat; add a note on (<=?).
Commits on Mar 19, 2014
  1. @yav
Commits on Mar 16, 2014
  1. @nomeata
Commits on Mar 13, 2014
  1. @thoughtpolice

    Remove misleading comment

    thoughtpolice authored
    We actually can't inline at phase 0 here, because there's probably a
    pretty good chance 'map' will get optimized away which will defeat the
    rule.
    
    Signed-off-by: Austin Seipp <austin@well-typed.com>
  2. @thoughtpolice

    Add RULE for "map coerce = map" (#8767)

    thoughtpolice authored
    Signed-off-by: Austin Seipp <austin@well-typed.com>
  3. @simonpj

    Use not# rather than (`xor#` (-1)) for complement

    simonpj authored
    I'm not sure why we weren't using not# before; maybe it wasn't
    a primpop at that stage?  Strange.
  4. @simonpj
  5. @simonpj

    Add shiftR and shiftL implementations to instance Bits Integer

    simonpj authored
    Apart from simply making sense (avoid the conditional in 'shift'),
    this makes left and right shifts on Integer more likely to inline
    (plain 'shift' is just too large); and this in turn is important
    when fixing the Integer case of #8832
Commits on Mar 1, 2014
  1. @hvr

    Workaround failed constant-folding for zeroBits

    hvr authored
    For some reason GHC fails to constant fold `zeroBits :: Int` and
    `zeroBits :: Integer`; `ghc -show-iface` shows
    
      $fBitsInt_$czeroBits :: GHC.Types.Int
         {- Strictness: m,
            Unfolding: (GHC.Types.I# (GHC.Prim.andI# 1 (GHC.Prim.notI# 1))) -}
    
    Otoh, constant-folding works as expected, reducing `zeroBits` to 0 constant
    for the other integer-types (= {Word,Int}{8,16,32,64}` and `Word`). So this
    quickfix is actually just treating the symptom rather than the cause.
    
    Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
  2. @hvr

    Tweak Haddock comments in `Data.Ord.Down` added in ebc8526

    hvr authored
    Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
  3. @hvr

    Tweak documentation and update changelog.md

    hvr authored
    This adds release note entries to changelog and tweaks Haddock comments
    with respect to the recent commits 1a9abe7 (re #8797) and
    f932b79 (re #8745)
    
    Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Commits on Feb 28, 2014
  1. @thoughtpolice

    Add some instances for Monoid/Applicative (#8797)

    thoughtpolice authored
    As noted in the ticket, there's no particular reason why there aren't
    Generic, Typeable, and Data instances for the types in the
    Monoid/Applicative modules.
    
    Furthermore, Product and Sum should also have Num instances as well as
    Edward noted.
    
    Aside from that, this patch also changes the dependency chain slightly -
    it moves the Monoid Proxy instance into Data.Monoid and out of
    Data.Proxy.
    
    Why? Cycles (of course). Monoid depends on Typeable. Typeable uses
    Proxy. Proxy uses Monoid. Boom. Luckily, Proxy only depends on Monoid
    outside of the GHC namespace, so the fix is easy and clean.
    
    Signed-off-by: Austin Seipp <austin@well-typed.com>
  2. @thoughtpolice

    Create Data.Coerce (#8745)

    thoughtpolice authored
    Data.Coerce is a Trustworthy module which safely exports both
    `Coercible` and `coerce` for use by users, as it can now be considered
    safe under role checking.
    
    See the ticket for details.
    
    Signed-off-by: Austin Seipp <austin@well-typed.com>
  3. @hvr

    Add new Data.Bits.Bits(zeroBits) method

    hvr authored
    This adds a new method to `Bits` which completes the Bits API
    with a direct way to introduce a value with all bits cleared.
    
    See also original proposal at
    
      http://permalink.gmane.org/gmane.comp.lang.haskell.libraries/21157
Commits on Feb 25, 2014
  1. @hvr

    Tweak Haddock markup in Data.Typeable

    hvr authored
    Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
  2. @dreixel
  3. @dreixel
  4. @hvr

    Add `withMVarMasked` (re #8818)

    hvr authored
    Like `withMVar`, but the @IO@ action in the second argument is executed
    with asynchronous exceptions masked. This completes the `MVar` API,
    which already contained `modifyMVarMasked` and `modifyMVarMasked_`.
    
    Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Commits on Feb 21, 2014
  1. @hvr

    Minor fixes to Haddock markup

    hvr authored
    Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
  2. @hvr

    Tweak Haddock markup in Control.Applicative

    hvr authored
    This (arguably) improves rendering with Haddock 2.14
    
    Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
  3. @hvr

    Fix typo in documentation of Data.Functor.($>)

    hvr authored
    Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Commits on Feb 19, 2014
  1. @ggreif

    Minor typo in comment

    ggreif authored
  2. @crdueck @hvr

    Use new bitwise Int# primops in Data.Bits (re #8791)

    crdueck authored hvr committed
    The new primops (see also #7689) allow to optimize
    `instance Bits Int` by allowing to operate directly on Int#
    instead of having to convert to Word# and back to Int# again.
    
    Authored-by: Chris Dueck <crdueck@uwaterloo.ca>
    Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Commits on Feb 17, 2014
  1. @nomeata
Commits on Feb 14, 2014
  1. @nomeata

    Wrong bug number

    nomeata authored
    the previous commit added a testcase for #8766, not #8374 -- too many
    tabs open.
  2. @nomeata

    Test case for #8374

    nomeata authored
  3. @nomeata

    Improve list fusion for [n::Integer..m]

    nomeata authored
    enumFromTo for Integers goes via enumDeltaToInteger, which is less
    efficient, as the "delta > = 0" check prevents more inlining which is
    required for good fusion code. This rule avoids tihs check for the
    common case of "delta = 1", makes up_fb visible and hence inlineable,
    which greatly improves "length [n:Integer..m]"; even more so with
    CallArity enabled. (#8766)
Commits on Feb 10, 2014
  1. @nomeata

    Inline maximum/minium a bit more aggresively

    nomeata authored nomeata committed
    in order to allow fusion of the foldr in the foldl in the foldl' therein.
  2. @nomeata

    Implement foldl with foldr

    nomeata authored
    together with the call arity analysis and the following patch (about inlining
    maximum), we get nice benefits from fusing foldl and foldl' with good
    producers:
    
                    Min          -0.1%    -74.5%     -6.8%     -8.3%    -50.0%
                    Max          +0.2%      0.0%    +38.5%    +38.5%      0.0%
         Geometric Mean          -0.0%     -4.1%     +7.7%     +7.7%     -0.8%
    
    Because this depends on a compiler optimisation, we have to watch out for cases
    where this is not an improvements, and whether they occur in the wild.
Commits on Feb 5, 2014
  1. @hvr

    Add release note about new `SomeAsyncException`

    hvr authored
    Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Commits on Feb 1, 2014
  1. @ggreif

    Fix a popular typo

    ggreif authored
Commits on Jan 30, 2014
  1. @nomeata

    Show docs for coerce and Coercible in GHC.Exts

    nomeata authored
    as that is the canonical place for people to import them from.
Something went wrong with that request. Please try again.