summaryrefslogtreecommitdiff
path: root/libraries
Commit message (Collapse)AuthorAgeFilesLines
* Comments only (instances for Proxy are lazy)Reid Barton2014-10-031-0/+4
|
* Really fix dropWhileEndLE commitJoachim Breitner2014-10-021-2/+1
| | | | which I fixed before, but failed to pass -a to "git commit --amend"
* Use dropWhileEndLE p instead of reverse . dropWhile p . reverseDavid Feuer2014-10-021-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Summary: Using `dropWhileEndLE` tends to be faster and easier to read than the `reverse . dropWhile p . reverse` idiom. This also cleans up some other, nearby, messes. Fix #9616 (incorrect number formatting potentially leading to incorrect numbers in output). Test Plan: Run validate Reviewers: thomie, rwbarton, nomeata, austin Reviewed By: nomeata, austin Subscribers: simonmar, ezyang, carter, thomie Projects: #ghc Differential Revision: https://phabricator.haskell.org/D259 GHC Trac Issues: #9623, #9616 Conflicts: compiler/basicTypes/OccName.lhs
* Revert "Use dropWhileEndLE p instead of reverse . dropWhile p . reverse"Austin Seipp2014-10-021-2/+1
| | | | This reverts commit 2a8856884de7d476e26b4ffa829ccb3a14d6f63e.
* Rename _closure to _static_closure, apply naming consistently.Edward Z. Yang2014-10-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: In preparation for indirecting all references to closures, we rename _closure to _static_closure to ensure any old code will get an undefined symbol error. In order to reference a closure foobar_closure (which is now undefined), you should instead use STATIC_CLOSURE(foobar). For convenience, a number of these old identifiers are macro'd. Across C-- and C (Windows and otherwise), there were differing conventions on whether or not foobar_closure or &foobar_closure was the address of the closure. Now, all foobar_closure references are addresses, and no & is necessary. CHARLIKE/INTLIKE were not changed, simply alpha-renamed. Part of remove HEAP_ALLOCED patch set (#8199) Depends on D265 Signed-off-by: Edward Z. Yang <ezyang@mit.edu> Test Plan: validate Reviewers: simonmar, austin Subscribers: simonmar, ezyang, carter, thomie Differential Revision: https://phabricator.haskell.org/D267 GHC Trac Issues: #8199
* Use dropWhileEndLE p instead of reverse . dropWhile p . reverseDavid Feuer2014-10-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Summary: Using `dropWhileEndLE` tends to be faster and easier to read than the `reverse . dropWhile p . reverse` idiom. This also cleans up some other, nearby, messes. Fix #9616 (incorrect number formatting potentially leading to incorrect numbers in output). Test Plan: Run validate Reviewers: thomie, rwbarton, nomeata, austin Reviewed By: nomeata, austin Subscribers: simonmar, ezyang, carter, thomie Projects: #ghc Differential Revision: https://phabricator.haskell.org/D259 GHC Trac Issues: #9623, #9616 Conflicts: compiler/basicTypes/OccName.lhs
* update cabal submodule to fix build failure on SolarisKarel Gardas2014-10-011-0/+0
|
* Make filterM a good consumerDavid Feuer2014-10-012-6/+9
| | | | analogously to mapM. Fixes #9546.
* Fusion rule for "foldr k z (x:build g)"David Feuer2014-10-011-0/+3
| | | | | | | | There seem to be various issues with general fold/cons and even cons/build rules, but it seems pretty clear to me that the simple fold/cons/build rule is a good idea. It doesn't do much for nofib allocation, but it seems to improve some other analyses and speed several benchmarks up. Implements #9536.
* Make mapAccumL a good consumerDavid Feuer2014-10-012-1/+18
| | | | This fixes #9502.
* Make scanr a good producer and consumerDavid Feuer2014-10-012-0/+20
| | | | This fixes #9355.
* Make foldr2 a bit more strictDavid Feuer2014-10-012-14/+33
| | | | in order to make its RULES semantics preserving. This fixes #9495.
* Update Win32 submodule to avoid potential -Werror failureHerbert Valerio Riedel2014-10-011-0/+0
|
* Extend `Foldable` class with `length` and `null` methodsHerbert Valerio Riedel2014-09-283-1/+11
| | | | | | | | | | | | | This completes the `Foldable` class by two important operations which this way can be optimised for the underlying structure more easily. A minor fix for the `containers` submodule was needed to due name clash Addresses #9621 Reviewed By: ekmett, dfeuer, austin Differential Revision: https://phabricator.haskell.org/D250
* Generalise `guard` for real this timeHerbert Valerio Riedel2014-09-281-1/+1
| | | | This was missed in D253 / a07ce1654ac5b8033f2daf9270c6e182415b69ca
* Generalise `Control.Monad.{when,unless,guard}`Herbert Valerio Riedel2014-09-283-9/+12
| | | | | | | | | | | | Generalise `when`/`unless`from `Monad` to `Applicative` and `guard` from `MonadPlus` to `Alternative` respectively. This was made possible by the AMP and is somewhat related to #9586 (but generalising in the context of the AMP instead of the FTP) Reviewed By: ekmett, austin Differential Revision: https://phabricator.haskell.org/D253
* Set default-impl of `mapM`/`sequence` methods to `traverse`/`sequenceA`Herbert Valerio Riedel2014-09-271-3/+3
| | | | | | | This is made possible by the AMP, as we don't need the `WrappedMonad` helper for that anymore. Approved-by: Edward Kmett <ekmett@gmail.com>
* Replace obsolete `defaultUserHooks` by `autoconfUserHooks`Herbert Valerio Riedel2014-09-275-1/+1
| | | | This also updates a few submodules
* Update Cabal submodule to latest master branch tipHerbert Valerio Riedel2014-09-261-0/+0
|
* Don't re-export `Alternative(..)` from Control.Monad (re #9586)Herbert Valerio Riedel2014-09-261-1/+0
| | | | | | | | | | | | | | | | | This was done in d94de87252d0fe2ae97341d186b03a2fbe136b04 to avoid orphans but since a94dc4c3067c6a0925e2e39f35ef0930771535f1 moved `Alternative` into GHC.Base, this isn't needed anymore. This is important, as otherwise this would require a non-neglectable amount of `Control.Monad hiding ((<|>), empty)` imports in user code. The Haddock submodule is updated as well Test Plan: partial local ./validate --fast, let Harbormaster doublecheck it Reviewed By: ekmett, austin Differential Revision: https://phabricator.haskell.org/D248
* Update `unix` submodule to disable getlogin testsHerbert Valerio Riedel2014-09-261-0/+0
|
* Fixes cyclic import on OS X(#9635)Dave Laing2014-09-251-1/+0
| | | | | | | | | | | | | | | | Summary: Signed-off-by: Dave Laing <dave.laing.80@gmail.com> Test Plan: Locally tested Reviewers: thomie, austin Reviewed By: thomie, austin Subscribers: simonmar, ezyang, carter, thomie Differential Revision: https://phabricator.haskell.org/D244 GHC Trac Issues: #9635
* Refer to 'mask' instead of 'block' in Control.ExceptionThomas Miedema2014-09-252-6/+7
| | | | | | | | | | | | | | | | | Summary: More thorough version of a75383cdd46f7bb593639bc6d1628b068b78262a Test Plan: change of comments only [skip ci] Reviewers: austin, simonmar, ekmett Reviewed By: austin, ekmett Subscribers: simonmar, ezyang, carter Differential Revision: https://phabricator.haskell.org/D239
* Update `binary` submodule in an attempt to address #9630Herbert Valerio Riedel2014-09-251-0/+0
| | | | | | | | This removes a couple of `INLINE` pragmas from the generics helper classes. With this change the compile times and memory usage should go back to the previous GHC 7.8.3 situation. This has been submitted upstream as https://github.com/kolmodin/binary/pull/62
* Update time submodule to 1.5.0 releaseHerbert Valerio Riedel2014-09-251-0/+0
|
* `M-x delete-trailing-whitespace` & `M-x untabify`Herbert Valerio Riedel2014-09-241-72/+72
|
* `M-x delete-trailing-whitespace` & `M-x untabify`Herbert Valerio Riedel2014-09-2445-388/+388
| | | | ...several modules in `base` recently touched by me
* Update Cabal submodule & ghc-pkg to use new module re-export typesEdward Z. Yang2014-09-241-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The main change is that Cabal changed the representation of module re-exports to distinguish reexports in source .cabal files versus re-exports in installed package registraion files. Cabal now also does the resolution of re-exports to specific installed packages itself, so ghc-pkg no longer has to do this. This is a cleaner design overall because re-export resolution can fail so it is better to do it during package configuration rather than package registration. It also simplifies the re-export representation that ghc-pkg has to use. Add extra ghc-pkg sanity check for module re-exports and duplicates For re-exports, check that the defining package exists and that it exposes the defining module (or for self-rexport exposed or hidden modules). Also check that the defining package is actually a direct or indirect dependency of the package doing the re-exporting. Also add a check for duplicate modules in a package, including re-exported modules. Test Plan: So far the sanity checks are totally untested. Should add some test case to make sure the sanity checks do catch things correctly, and don't ban legal things. Reviewers: austin, duncan Subscribers: angerman, simonmar, ezyang, carter Differential Revision: https://phabricator.haskell.org/D183 GHC Trac Issues:
* Delete all /* ! __GLASGOW_HASKELL__ */ codeThomas Miedema2014-09-231-9/+2
| | | | | | | | | | | | | | | | | Summary: ``` git grep -l '\(#ifdef \|#if defined\)(\?__GLASGOW_HASKELL__)\?' ``` Test Plan: validate Reviewers: rwbarton, hvr, austin Reviewed By: rwbarton, hvr, austin Subscribers: rwbarton, simonmar, ezyang, carter Differential Revision: https://phabricator.haskell.org/D218
* Update haskeline submodule to avoid -Werror failureHerbert Valerio Riedel2014-09-231-0/+0
| | | | This would occur only on Windows during `./validate`
* Fix windows breakage from 5ed12810e0972b1e due to import cyclesHerbert Valerio Riedel2014-09-224-7/+5
| | | | Refs #9586
* Export `Monoid(..)`/`Foldable(..)`/`Traversable(..)` from PreludeHerbert Valerio Riedel2014-09-212-11/+32
| | | | | | | | | | | | | | | This finally exposes also the methods of these 3 classes in the Prelude in order to allow to define basic class instances w/o needing imports. This almost completes the primary goal of #9586 NOTE: `fold`, `foldl'`, `foldr'`, and `toList` are not exposed yet, as they require upstream fixes for at least `containers` and `bytestring`, and are not required for defining basic instances. Reviewed By: ekmett, austin Differential Revision: https://phabricator.haskell.org/D236
* Generalise Data.List/Control.Monad to Foldable/TraversableHerbert Valerio Riedel2014-09-217-30/+27
| | | | | | | | | | | | | | | | | | | | | | | | | This flips the switch and replaces the entities in `Data.List`/`Control.Monad` conflicting with `Data.{Foldable,Traversable}` with re-exports of the more general versions. As of this commit, the code below (which is also added as a test-case) compiles w/o error. module XPrelude (module X) where import Control.Monad as X import Data.Foldable as X import Data.List as X import Data.Monoid as X import Data.Traversable as X import Prelude as X This addresses #9568 Reviewed By: ekmett, austin Differential Revision: https://phabricator.haskell.org/D235
* Move `mapM` and `sequence` to GHC.Base and break import-cyclesHerbert Valerio Riedel2014-09-2113-44/+40
| | | | | | | | | | This simplifies the import graph and more importantly removes import cycles that arise due to `Control.Monad` & `Data.List` importing `Data.Traversable` (preparation for #9586) Reviewed By: ekmett, austin Differential Revision: https://phabricator.haskell.org/D234
* Update haskell2010, haskell98, and array submodulesHerbert Valerio Riedel2014-09-213-0/+0
| | | | | The changes are purely cleanups to improve forward compatibility to help with the Foldable/Traversal changes ahead.
* Simplify import-graph a bit moreHerbert Valerio Riedel2014-09-214-4/+4
| | | | | | This is preparatory refactoring for avoiding import cycles when `Data.Traversable` will be imported by `Control.Monad` and `Data.List` for implementing #9586
* Add missing changelog entries for current state of #9586Herbert Valerio Riedel2014-09-201-0/+14
|
* Generalise (some of) Data.List to Foldables (re #9568)Herbert Valerio Riedel2014-09-202-2/+15
| | | | | | | | | | | | | | | | | | This replaces the entities in Data.List conflicting with Data.Foldable with re-exports of the generalised version from Data.Foldable. As of this commit, the following compiles w/o error module XPrelude (module X) where import Control.Monad as X import Data.Foldable as X import Data.List as X import Prelude as X Reviewed By: austin, dfeuer, ekmett Differential Revision: https://phabricator.haskell.org/D229
* Turn a few existing folds into `Foldable`-methods (#9621)Herbert Valerio Riedel2014-09-202-37/+42
| | | | | | | | | | Turn `toList`, `elem`, `sum`, `product`, `maximum`, and `minimum` into `Foldable` methods. This helps avoiding regressions (and semantic differences) while implementing #9586 Reviewed By: austin, dfeuer, ekmett Differential Revision: https://phabricator.haskell.org/D231
* Set up framework for generalising Data.List to FoldablesHerbert Valerio Riedel2014-09-2011-913/+1124
| | | | | | | | | | | | | | | | | | | | | 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
* Fix potential `mingw32_HOST_OS` -Werror failureHerbert Valerio Riedel2014-09-201-2/+1
|
* Fix potential `mingw32_HOST_OS` breakage from eae19112462fe77Herbert Valerio Riedel2014-09-201-1/+1
|
* Define fixity for `Data.Foldable.{elem,notElem}`Herbert Valerio Riedel2014-09-192-0/+5
| | | | | | | | | | | This was probably just an oversight. With this change the fixity matches that from `Data.List.{elem,notElem`}`. Addresses #9610 Reviewed By: austin, ekmett Differential Revision: https://phabricator.haskell.org/D227
* Fixup overlooked `unless` occurenceHerbert Valerio Riedel2014-09-191-1/+1
| | | | This was broken in eae19112462fe77a3f1298bff12b409b205a581d
* Typo in comment in GHC.GenericsSimon Peyton Jones2014-09-191-1/+1
| | | | Fixes Trac #9523
* Auto-derive a few manually coded Show instancesHerbert Valerio Riedel2014-09-191-16/+4
| | | | | | | | | | | | | | | | | In `base`, the instances instance Show () instance Show Bool instance Show Ordering instance Show a => Show (Maybe a) where defined manually, even though we can leverage GHC's auto-deriver which is perfectly capable by standalone derivation to avoid boiler-plate code such as this. Reviewed By: austin Differential Revision: https://phabricator.haskell.org/D219
* Revert accidental wip/generics-propeq-conservative mergeHerbert Valerio Riedel2014-09-191-44/+13
| | | | | | | | | | | | | | | | This commit reverts the commits e12a6a8 Propositional equality for Datatype meta-information 0a8e6fc Make constructor metadata parametrized (with intended parameter <- datatype) f097b77 Implement sameConstructor cc618e6 get roles right and fix a FIXME 79c7125 Actually parametrize the Constructor with the Datatype 7bd4bab Supply a reasonable name (should be derived from d_name tho) 09fcd70 Use 'd_name' as the name (should be derived from d_name tho) 4d90e44 Add default case (fixes -Werror) and effectively resets ghc.git to the state it was at commit 8c79dcb4dc2c6b8b663fa0c2e61d40d0ac0e9996
* Add default case (fixes -Werror)Gabor Greif2014-09-191-1/+1
|
* Implement sameConstructorGabor Greif2014-09-191-1/+14
|
* Make constructor metadata parametrized (with intended parameter <- datatype)Gabor Greif2014-09-191-12/+13
|