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
      characteristics.
      
      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
      212a3505
    • 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
      e73ab541
  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
      d3a7126f
    • 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
      54addb12
    • 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
      8ef4cf16
    • 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
      used.
      
      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
      cbb20ab2
  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
      read.
      
      Differential Revision: https://phabricator.haskell.org/D380
      75979f36
  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
      Summary:
      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
      9c464f89
    • mjo's avatar
      Add doctest examples for Data.Functor. · 68255588
      mjo authored
      Summary:
      Add doctest examples for the three standalone functions defined in
      Data.Functor:
      
        * 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
      68255588
    • David Feuer's avatar
      Make findIndices fuse · ef2d0279
      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
      ef2d0279
    • David Feuer's avatar
      Improve isDigit, isSpace, etc. · 31571270
      David Feuer authored
      Summary:
      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
      31571270
  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
      7369d259
  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.
      ad4a7139
  22. 03 Oct, 2014 1 commit