- 13 Nov, 2014 1 commit
-
-
David Feuer authored
Make `words` a good producer and `unwords` a good consumer for list fusion. Thus `unwords . words` will avoid producing an intermediate list of words, although it will produce each individual word. Make `unwords` slightly lazier, so that `unwords (s : undefined) = s ++ undefined` instead of `= undefined`. Reviewed By: austin Differential Revision: https://phabricator.haskell.org/D375
-
- 07 Nov, 2014 1 commit
-
-
thomie authored
This makes nub and nubBy behave as specified in the Haskell 98 Report. This reverts 0ad9def5, and fixes #3280, #7913 and #2528 (properly). Before this change, the output of `T2528` was (4x wrong): ``` [A,B] [1,2] False False ``` Reviewed By: dfeuer, ekmett, austin, hvr Differential Revision: https://phabricator.haskell.org/D238
-
- 02 Nov, 2014 1 commit
-
-
Joachim Breitner authored
This increases the chance of good code after fusing a left fold. See ticket #7994 and the new Note [Left folds via right fold] Differential Revision: https://phabricator.haskell.org/D393
-
- 28 Oct, 2014 1 commit
-
-
David Feuer authored
This gets rid of all hand-unboxing in `GHC.List` and moves `Foldable` requirements from `Data.OldList` into `GHC.List` (preparatory work for addressing #9716). Specifically, this moves the definition of `maximum`, `minimum`, `foldl'`, `foldl1`, `foldl1'`, `sum`, and `product` into `GHC.List` (which now needs to import `GHC.Num`) Make `take`, `drop`, `length`, and `!!` generally saner (see also #9510) Performance overall seems minimally affected. Some things go up; some things go down; nothing moves horribly much. The code is much easier to read. Differential Revision: https://phabricator.haskell.org/D380
-
- 27 Oct, 2014 1 commit
-
-
David Feuer authored
The new implementation avoids reversing the "haystack" list, which can be very expensive. Reviewed By: ekmett Differential Revision: https://phabricator.haskell.org/D330
-
- 21 Oct, 2014 1 commit
-
-
David Feuer authored
Summary: Steal the findIndices implementation from Data.Sequence, that can participate in fold/build fusion Reviewers: nomeata, austin Reviewed By: nomeata, austin Subscribers: thomie, carter, ezyang, simonmar Differential Revision: https://phabricator.haskell.org/D345
-
- 16 Oct, 2014 2 commits
-
-
David Feuer authored
Reviewed By: nomeata, austin Differential Revision: https://phabricator.haskell.org/D325
-
David Feuer authored
Fixes #9345. Use a modified banker's queue to achieve amortized optimal performance for inits. The previous implementation was extremely slow. Reviewed By: nomeata, ekmett, austin Differential Revision: https://phabricator.haskell.org/D329
-
- 01 Oct, 2014 1 commit
-
-
David Feuer authored
This fixes #9502.
-
- 20 Sep, 2014 1 commit
-
-
Herbert Valerio Riedel authored
This renames the Data.List module to Data.OldList, and puts a new Data.List module into its place re-exporting all list functions. The plan is to leave the monomorphic versions of the list functions in Data.OldList to help smooth the transition. The new Data.List module then will simply re-export entities from Data.OldList and Data.Foldable. This refactoring has been placed in a separate commit to be able to better isolate any regressions caused by the actual list function generalisations when implementing #9586 This also updates the haskell2010, haskell98, and array submodules Reviewed By: austin, ekmett Differential Revision: https://phabricator.haskell.org/D228
-
- 09 Sep, 2014 1 commit
-
-
Herbert Valerio Riedel authored
Since we now had to major bump due to AMP being landed, `base-4.7.1.0` is not gonna happen, as we're going straight for a `base-4.8.0.0` release. [skip ci] since this is a doc-only change
-
- 06 Sep, 2014 1 commit
-
-
Joachim Breitner authored
Summary: to allow GHC to maybe remove the Maybe. See the code comment for more commentary. This fixes #9369. Test Plan: see what happens on ghcspeed (once it is merged) Reviewers: austin Reviewed By: austin Subscribers: simonmar, ezyang, carter Differential Revision: https://phabricator.haskell.org/D198 GHC Trac Issues: #9369
-
- 04 Sep, 2014 1 commit
-
-
David Feuer authored
Summary: As discussed in http://www.haskell.org/pipermail/libraries/2014-July/023314.html and submitted at #9550. Test Plan: Submit to phab, see what happens. Reviewers: austin Subscribers: simonmar, ezyang, carter Differential Revision: https://phabricator.haskell.org/D195 GHC Trac Issues: #9550
-
- 20 Jul, 2014 1 commit
-
-
bernalex authored
Test Plan: validate Reviewers: austin Reviewed By: austin Subscribers: phaskell, simonmar, relrod, carter Differential Revision: https://phabricator.haskell.org/D77
-
- 19 Apr, 2014 3 commits
-
-
Herbert Valerio Riedel authored
Update several old http://hackage.haskell.org/trac/ghc URLs references to the current http://ghc.haskell.org/trac/ghc URLs. Signed-off-by:
Herbert Valerio Riedel <hvr@gnu.org>
-
Herbert Valerio Riedel authored
Signed-off-by:
Herbert Valerio Riedel <hvr@gnu.org>
-
bernalex authored
`sortOn` sorts a list by comparing the results of a key function applied to each element. `sortOn f` is equivalent to `sortBy . comparing f`, but has the performance advantage of only evaluating `f` once for each element in the input list. Historical note: This was already proposed in 2008 as part of http://www.haskell.org/pipermail/libraries/2008-October/010797.html It was, however, the recent re-attempt http://www.haskell.org/pipermail/libraries/2014-April/022489.html that let `sortOn` make it into base at last. Maybe the other functions mentioned in #2659 might be worth reconsidering as well.
-
- 10 Feb, 2014 2 commits
-
-
Joachim Breitner authored
in order to allow fusion of the foldr in the foldl in the foldl' therein.
-
Joachim Breitner 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.
-
- 22 Sep, 2013 1 commit
-
-
Herbert Valerio Riedel authored
This commit retroactively adds `/Since: 4.5.[01].0/` annotations to symbols newly added/exposed in `base-4.5.[01].0` (as shipped with GHC 7.4.[12]). See also 6368362f which adds the respective annotation for symbols newly added in `base-4.7.0.0` (that goes together with GHC 7.8.1). Signed-off-by:
Herbert Valerio Riedel <hvr@gnu.org>
-
- 17 Sep, 2013 1 commit
-
-
Herbert Valerio Riedel authored
Now that HUGS and NHC specific code has been removed, this commit "folds" the now redundant `#if((n)def)`s containing `__GLASGOW_HASKELL__`. This renders `base` officially GHC only. This commit also removes redundant `{-# LANGUAGE CPP #-}`. Signed-off-by:
Herbert Valerio Riedel <hvr@gnu.org>
-
- 15 Feb, 2013 1 commit
-
-
ian@well-typed.com authored
-
- 02 Jan, 2013 1 commit
-
-
ian@well-typed.com authored
Wording suggested by Bart Massey.
-
- 24 Dec, 2012 1 commit
-
-
Simon Peyton Jones authored
This was causing the bad behaviour in Trac #7507, because 'sum' wasn't getting specialised to Int64. It also deals with Trac #4321, which had the same cause. This has a big effect on some nofib programs too: -------------------------------------------------------------------------------- Program Allocs Runtime Elapsed TotalMem ------------------------------------------------------------------------ bernouilli -2.6% -2.0% -2.0% +0.0% fft2 -23.8% 0.09 0.09 -16.7% fluid -4.4% 0.01 0.01 +0.0% hidden -3.2% +2.1% +1.8% +0.0% integrate -38.0% -47.7% -47.7% -1.0% x2n1 -30.2% 0.01 0.01 -50.0% ------------------------------------------------------------------------ Min -38.0% -47.7% -47.7% -50.0% Max +0.4% +11.2% +11.8% +6.9% Geometric Mean -1.3% +0.2% +0.2% -0.8%
-
- 27 Oct, 2012 3 commits
-
-
ian@well-typed.com authored
No changes, just using nicer type variable names
-
ian@well-typed.com authored
These comments are rather less useful now that haddock can give docs with the same informatino in the module synopsis. Having to maintain them when making changes to the library is a pain, and when people forget about doing so there is nothing that checks that the comments are right, so mistakes tend to linger. Of the comments that my script detected, 78 of 684 were already incorrect in one way or another, e.g. missing context: Text.Show.showsPrec Comment type: Int -> a -> ShowS Actual type: Show a => Int -> a -> ShowS wrong context: Numeric.readInt Comment type: Integral a => a -> (Char -> Bool) -> (Char -> Int) -> ReadS a Actual type: Num a => a -> (Char -> Bool) -> (Char -> Int) -> ReadS a not following a class change (e.g. Num losing its Eq superclass): Text.Read.Lex.readOctP Comment type: Num a => ReadP a Actual type: (Eq a, Num a) => ReadP a not following the Exceptions change: GHC.Conc.childHandler Comment type: Exception -> IO () Actual type: SomeException -> IO () or just always been wrong: GHC.Stable.deRefStablePtr Comment type: StablePtr a -> a Actual type: StablePtr a -> IO a
-
illissius authored
-
- 25 Jul, 2012 1 commit
-
-
pcapriotti authored
-
- 27 May, 2012 1 commit
-
-
A. Bram Neijt authored
Mention which list is the source of the elements in the resulting list.
-
- 19 Mar, 2012 1 commit
-
-
Joachim Breitner authored
-
- 14 Nov, 2011 1 commit
-
-
Simon Marlow authored
-
- 26 Oct, 2011 1 commit
-
-
dterei authored
-
- 18 Jun, 2011 1 commit
-
-
dterei authored
-
- 03 Apr, 2011 1 commit
-
-
Ian Lynagh authored
Converted from darcs patches from Bas van Dijk <v.dijk.bas@gmail.com> Previously: tails _|_ = _|_ Now: tails _|_ = _|_ : _|_ Previously: inits _|_ = _|_ Now: inits _|_ = [] : _|_
-
- 28 Jan, 2011 1 commit
-
-
simonpj@microsoft.com authored
Add explicit {-# LANGUAGE xxx #-} pragmas to each module, that say what extensions that module uses. This makes it clearer where different extensions are used in the (large, variagated) base package. Now base.cabal doesn't need any extensions field Thanks to Bas van Dijk for doing all the work.
-
- 20 Oct, 2010 1 commit
-
-
Daniel Fischer authored
Make selector thunks visible to GHC to fix a space leak in lines.
-
- 02 Oct, 2010 1 commit
-
-
Daniel Fischer authored
A lazier implementation of intersperse, and consequentially intercalate, to avoid space leaks.
-
- 30 Sep, 2010 1 commit
-
-
Daniel Fischer authored
Add shortcuts to intersectBy for empty list arguments. In addition to being faster in that case, more inputs yield defined results. Treats ticket #4323
-
- 01 Jul, 2010 1 commit
-
-
Simon Marlow authored
-
- 25 Jun, 2010 1 commit
-
-
Ian Lynagh authored
-