1. 20 Nov, 2014 1 commit
  2. 19 Nov, 2014 1 commit
  3. 18 Nov, 2014 3 commits
  4. 13 Nov, 2014 2 commits
    • David Feuer's avatar
      Improve `Foldable` instance for `Array` · 212a3505
      David Feuer authored
      Previously, `Array`s were simply converted to lists, and the list
      methods used. That works acceptably well for `foldr` and `foldr1`, but
      not so sensibly for most other things. Left folds ended up "twisted" the
      way they are for lists, leading to surprising performance
      Moreover, this implements `length` and `null` so they check the array
      size directly.
      Finally, a test is added to the testsuite ensuring the overridden
      `Foldable` methods agree with their expected default semantics.
      Addresses #9763
      Reviewed By: hvr, austin
      Differential Revision: https://phabricator.haskell.org/D459
    • David Feuer's avatar
      Make unwords and words fuse somewhat · e73ab541
      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
  5. 11 Nov, 2014 1 commit
  6. 10 Nov, 2014 1 commit
  7. 07 Nov, 2014 1 commit
  8. 06 Nov, 2014 1 commit
  9. 05 Nov, 2014 3 commits
  10. 04 Nov, 2014 5 commits
  11. 02 Nov, 2014 1 commit
  12. 31 Oct, 2014 4 commits
    • mjo's avatar
      Update doctest example style in `Data.Bool` · d3a7126f
      mjo authored
      hvr made some suggestions in D352 and D371, this fixes them in the
      already-applied patch for Data/Bool.hs as well for consistency.
      Reviewed By: austin, hvr
      Differential Revision: https://phabricator.haskell.org/D379
    • Herbert Valerio Riedel's avatar
      Clean-up `Data.Fixed` · 54addb12
      Herbert Valerio Riedel authored
      This gets rid of `-fno-warn-unused-binds` by turning the E* types into
      constructor-less data types (as they're used as phantom-types only)
      Moreover, this modules uses `AutoDeriveTypeable` so we can drop all those
      redundant `deriving (Typeable)` lines as well
      Reviewed By: austin, ekmett
      Differential Revision: https://phabricator.haskell.org/D385
    • mjo's avatar
      Add doctest examples for Data.Char · 8ef4cf16
      mjo authored
      This adds doctest examples for every function and data type in `Data.Char`.
      Reviewed By: austin, hvr
      Differential Revision: https://phabricator.haskell.org/D371
    • Herbert Valerio Riedel's avatar
      Drop deprecated `OverlappingInstances` from base · cbb20ab2
      Herbert Valerio Riedel authored
      With #9242 the `OverlappingInstances` extension got deprecated, this
      commit adapts the only two remaining places in `base` where it was still
      Starting with this commit, the `Typeable (s t)` instance (which seemingly
      was the motivation for using `OverlappingInstances` in the first place
      when `Typeable` was neither polykinded nor auto-derived-only, see also
      commit ce3fd0e0 which introduced
      overlapping instances) does no longer allow overlapping instances, and
      there doesn't seem to be any good reason to keep allowing overlapping
      instance now.
      This also removes redundant `LANGUAGE`/`OPTIONS_GHC` pragmas from
      `Data.Typeable` and refactors the language pragmas into more uniform
      single-line pragmas.
      Reviewed By: austin
      Differential Revision: https://phabricator.haskell.org/D377
  13. 29 Oct, 2014 1 commit
  14. 28 Oct, 2014 1 commit
    • David Feuer's avatar
      base: Refactor/clean-up *List modules · 75979f36
      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
      Differential Revision: https://phabricator.haskell.org/D380
  15. 27 Oct, 2014 2 commits
  16. 26 Oct, 2014 1 commit
  17. 21 Oct, 2014 4 commits
    • mjo's avatar
      Add doctest examples for Data.Bool. · 9c464f89
      mjo authored
      Add examples for `Data.Bool`, and rework the existing documentation of
      the `bool` function slightly: the `a`,`b` in its explanation were changed
      to `x`,`y` to avoid ambiguity with the type variable 'a'.
      The examples have been tested, and two trailing spaces were removed.
      Reviewers: austin
      Reviewed By: austin
      Subscribers: thomie, carter, ezyang, simonmar
      Differential Revision: https://phabricator.haskell.org/D360
    • mjo's avatar
      Add doctest examples for Data.Functor. · 68255588
      mjo authored
      Add doctest examples for the three standalone functions defined in
        * Data.Functor.$>
        * Data.Functor.<$>
        * Data.Functor.void
      This is part of a larger plan to add examples for the functions in
      base, and to eventually enable automatic testing of them.
      Reviewers: austin, hvr, ekmett
      Reviewed By: austin
      Subscribers: hvr, ekmett, thomie, carter, ezyang, simonmar
      Differential Revision: https://phabricator.haskell.org/D352
    • David Feuer's avatar
      Make findIndices fuse · ef2d0279
      David Feuer authored
      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
    • David Feuer's avatar
      Improve isDigit, isSpace, etc. · 31571270
      David Feuer authored
      Make things less branchy; use unsigned comparisons for range checking.
      Eliminate non-spaces more quickly in common cases in isSpace.
      Reviewers: ekmett, carter, austin
      Reviewed By: austin
      Subscribers: thomie, carter, ezyang, simonmar
      Differential Revision: https://phabricator.haskell.org/D340
      GHC Trac Issues: #1473
  18. 19 Oct, 2014 2 commits
  19. 18 Oct, 2014 1 commit
    • mgmeier's avatar
      Remove obsolete Data.OldTypeable (#9639) · 7369d259
      mgmeier authored
      This finally removes the `Data.OldTypeable` module (which
      has been deprecated in 7.8), from `base`, compiler and testsuite.
      The deprecated `Typeable{1..7}` aliases in `Data.Typeable` are not
      removed yet in order to give existing code a bit more time to adapt.
      Reviewed By: hvr, dreixel
      Differential Revision: https://phabricator.haskell.org/D311
  20. 16 Oct, 2014 2 commits
  21. 11 Oct, 2014 1 commit
    • Herbert Valerio Riedel's avatar
      Remove a few redundant `.hs-boot` files · ad4a7139
      Herbert Valerio Riedel authored
      There don't seem to be any corresponding `{-# SOURCE #-}` for the removed
      `.hs-boot`-files anymore (if there ever was any in the first place).
      This also removes a commented out `{-# SOURCE #-}` import which turns up when
      grepping the source for `{-# SOURCE #-}` occurences.
  22. 03 Oct, 2014 1 commit