 16 Nov, 2015 1 commit


Ben Gamari authored
Generalize `filterM`, `mapAndUnzipM`, `zipWithM`, `zipWithM_`, `replicateM`, and `replicateM_`. Reviewers: ekmett, #core_libraries_committee, austin, hvr, bgamari Reviewed By: ekmett, #core_libraries_committee, bgamari Subscribers: ekmett, glguy, thomie Projects: #ghc Differential Revision: https://phabricator.haskell.org/D1324 GHC Trac Issues: #10168

 03 Nov, 2015 2 commits


Herbert Valerio Riedel authored
This requires adding a new primitive `mplusIO` to `GHC.IO` Update transformers submodule to accomodate extant orphan instances. Reviewed By: austin, bgamari Differential Revision: https://phabricator.haskell.org/D1148 GHC Trac Issues: #10755

Herbert Valerio Riedel authored
This is based on David's initial patch augmented by more extensive Haddock comments. This has been broken out of D1248 to reduce its size by splitting the patch into smaller logical pieces. On its own, this new module does nothing interesting yet. Later patches will add support for a different desugaring of `do`blocks, at which point the new `MonadFail` class will become more useful. Reviewed By: ekmett, austin Differential Revision: https://phabricator.haskell.org/D1424

 02 Nov, 2015 1 commit


Ben Gamari authored

 01 Nov, 2015 1 commit


Herbert Valerio Riedel authored
This also relaxes a few upper bounds on base in the ghc.git repo; This required a massrewrite in testsuite/ sed i s,base4.8.2.0,base4.9.0.0,g $(git grep Fl 'base4.8.2.0') because it turns out the testsuite is still sensitive to package version changes.

 19 Oct, 2015 1 commit


Facundo Domínguez authored
The implementation of `mask` and `uninterruptibleMask` assumed so far that the restore argument would be called in a context with the same masking state as that set by `mask` or `uninterruptibleMask`. This patch has the restore argument restore the masking, whatever the current masking state is. Test Plan: validate Reviewers: simonmar, hvr, austin, bgamari Reviewed By: bgamari Subscribers: thomie, qnikst Differential Revision: https://phabricator.haskell.org/D1327 GHC Trac Issues: #10149

 17 Oct, 2015 1 commit


Ryan Scott authored
See Trac #10773 Remove Control.Monad.IO.Class from `transformers`. Updates `transformers` submodule. See Trac #10773 Test Plan: ./validate Reviewers: ekmett, hvr, bgamari, austin Reviewed By: hvr, bgamari, austin Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1147 GHC Trac Issues: #10773

 16 Oct, 2015 1 commit


Austin Seipp authored
Signedoffby: Austin Seipp <austin@welltyped.com>

 13 Oct, 2015 1 commit


joeyadams authored
Fixes #8010, according to the specified libraries proposal. [1] Also, some minor wordsmithing. [1] http://thread.gmane.org/gmane.comp.lang.haskell.libraries/22709Signedoffby: Austin Seipp <austin@welltyped.com>

 10 Oct, 2015 1 commit


Ben Gamari authored
This can happen because the underlying primitive operations in `integergmp` don't support negative shiftamounts, and since `integergmp` can't throw proper exceptions and just provides a lowlevel API, it simply segfaults instead... This patch simply removes the `shift{L,R}` method definitions (and defines `unsafeShift{L,R}` instead) whose defaultimpls fallback on using `shift` which properly handles negative shift arguments. This addresses #10571 Test Plan: harbormaster can do it Reviewers: hvr, austin, rwbarton Subscribers: rwbarton, thomie, bgamari Differential Revision: https://phabricator.haskell.org/D1018 GHC Trac Issues: #10571

 03 Oct, 2015 1 commit


Ryan Scott authored
This adds a data family (`URec`) and six data family instances (`UAddr`, `UChar`, `UDouble`, `UFloat`, `UInt`, and `UWord`) which a `deriving Generic(1)` clause will generate if it sees `Addr#`, `Char#`, `Double#`, `Float#`, `Int#`, or `Word#`, respectively. The programmer can then provide instances for these data family instances to provide custom implementations for unboxed types, similar to how derived `Eq`, `Ord`, and `Show` instances currently specialcase unboxed types. Fixes #10868. Test Plan: ./validate Reviewers: goldfire, dreixel, bgamari, austin, hvr, kosmikus Reviewed By: dreixel, kosmikus Subscribers: simonpj, thomie Differential Revision: https://phabricator.haskell.org/D1239 GHC Trac Issues: #10868

 02 Oct, 2015 1 commit


Herbert Valerio Riedel authored
This implements phase 1 of the semigroupasmonoidsuperclass proposal (https://ghc.haskell.org/wiki/Proposal/SemigroupMonoid). The modules were migrated from the `semigroups0.17` release mostly asis, except for dropping several trivial `{# INLINE #}`s, removing CPP usage, and instances for types & classes provided outside of `base` (e.g. `containers`, `deepseq`, `hashable`, `tagged`, `bytestring`, `text`) Differential Revision: https://phabricator.haskell.org/D1284

 29 Aug, 2015 1 commit


Ryan Scott authored
This amounts to enabling PolyKinds in GHC.Generics. However, explicit kind signatures must be applied to the datatypes and typeclasses in GHC.Generics to ensure that the Core which TcGenGenerics generates is properly kinded. Several of the typeclasses in GHC.Generics could be polykinded, but this differential does not attempt to address this, since D493 already addresses this. Test Plan: ./validate Reviewers: hvr, austin, dreixel, bgamari Reviewed By: austin, dreixel, bgamari Subscribers: goldfire, thomie Differential Revision: https://phabricator.haskell.org/D1166 GHC Trac Issues: #10775

 07 Aug, 2015 1 commit


Herbert Valerio Riedel authored
[skip ci]

 06 Aug, 2015 1 commit


Fumiaki Kinoshita authored
This patch adds following instances: * Foldable ZipList * Traversable ZipList * Functor Complex * Applicative Complex * Monad Complex * Foldable Complex * Traversable Complex * Generic1 Complex * Monoid a => Monoid (Identity a) * Storable () Reviewers: ekmett, fumieval, hvr, austin Subscribers: thomie, #core_libraries_committee Projects: #core_libraries_committee Differential Revision: https://phabricator.haskell.org/D1049 GHC Trac Issues: #10609

 05 Aug, 2015 1 commit


Ryan Scott authored
Certain instances of `Exception` are simply datatypes with only one argument, which should be `newtype`s. Reviewers: ekmett, hvr, austin, bgamari Reviewed By: bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1131 GHC Trac Issues: #10738

 30 Jul, 2015 1 commit


Ben Gamari authored
This fixes #9516. Differential Revision: https://phabricator.haskell.org/D181Authoredby: Edsko de Vries <edsko@welltyped.com>

 07 Jul, 2015 2 commits


Ryan Scott authored
Export the data types `GiveGCStats`, `DoCostCentres`, `DoHeapProfiles`, and `DoTrace`, as well as the type synonyms `Time` and `RtsNat`. The above data types appear as fields in the `Stats` data types in `GHC.RTS.Flags`, but since they only have `Show` instances, it is practically impossible to due anything useful with the above types unless they are exported. Reviewers: hvr, ekmett, austin, ezyang, bgamari Reviewed By: bgamari Subscribers: thomie, bgamari Differential Revision: https://phabricator.haskell.org/D1030 GHC Trac Issues: #9970

Ben Gamari authored
This generalizes forever to depend on Applicative, rather than Monad. This was proposed a month ago (https://mail.haskell.org/pipermail/libraries/2015May/025711.html). Differential Revision: https://phabricator.haskell.org/D1045

 03 Jul, 2015 1 commit


Ryan Scott authored
This generalizes the type signatures of `traceM` and `traceShowM` to use `Applicative` rather than `Monad`. Reviewers: austin, ekmett, hvr, bgamari Reviewed By: ekmett, hvr, bgamari Subscribers: thomie, bgamari Differential Revision: https://phabricator.haskell.org/D1029 GHC Trac Issues: #10023

 16 Jun, 2015 1 commit


Gabriel439 authored
See original proposal at https://mail.haskell.org/pipermail/libraries/2014November/024310.html for more details Reviewed By: hvr, austin Differential Revision: https://phabricator.haskell.org/D988 GHC Trac Issues: #10523

 25 Apr, 2015 2 commits


Ben Gamari authored
This was an unfortunate oversight in the original event manager rework patch. Fixes #10308 Differential Revision: https://phabricator.haskell.org/D845

Herbert Valerio Riedel authored
This is needed because GHC 7.10.2 requires a minor version bump to base4.8.1.0 Several test outputs needed base4.8.1.0 replaced by base4.8.2.0

 14 Apr, 2015 2 commits


Herbert Valerio Riedel authored
Reviewed By: austin Differential Revision: https://phabricator.haskell.org/D827

Herbert Valerio Riedel authored
Reviewed By: austin Differential Revision: https://phabricator.haskell.org/D830

 03 Apr, 2015 1 commit


Ben Gamari authored
Reviewed By: hvr, austin Differential Revision: https://phabricator.haskell.org/D770

 25 Mar, 2015 1 commit


Fumiaki Kinoshita authored
This was proposed a couple of times in the past, e.g.  https://mail.haskell.org/pipermail/libraries/2011November/017153.html  https://mail.haskell.org/pipermail/libraries/2013July/020446.html but its implementation had been blocked by the fact that `Monoid` wasn't in scope where the `Monad` class was defined. Since the AMP/FTP restructuring this is no longer the case.

 23 Mar, 2015 1 commit


Herbert Valerio Riedel authored
Turns out we've been a bit too lazy and quite a few undocumented changes have accumulated in `base` relative to GHC 7.10's `base4.8.0.0`... [skip ci]

 17 Mar, 2015 1 commit


Austin Seipp authored
Signedoffby: Austin Seipp <austin@welltyped.com>

 11 Mar, 2015 1 commit


Herbert Valerio Riedel authored
This is a followup change to 56e0ac98 See also discussion at https://groups.google.com/d/msg/haskellcorelibraries/e9N3U6nJeQE/VTvG3G3x4J Reviewed By: simonpj Differential Revision: https://phabricator.haskell.org/D726

 07 Mar, 2015 2 commits


Herbert Valerio Riedel authored
This module provides access the listspecialised versions for legacy purposes (such as implementing Haskell2010ish preludes). This module basically reexports the hidden `Data.OldList` module (but in the less controversial `GHC.*` namespace, which signals less committment to keep this module around). This is legacy module is mostly for GHC 7.10's sake. What becomes longterm of `GHC.OldList` can be decided unhurriedly during the GHC 7.12 development cycle. Reviewed By: austin Differential Revision: https://phabricator.haskell.org/D689

Herbert Valerio Riedel authored
Summary: This addresses #10142 Reviewers: goldfire, austin, ekmett Reviewed By: austin, ekmett Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D709 GHC Trac Issues: #10142

 05 Mar, 2015 1 commit


Herbert Valerio Riedel authored
Summary: `TyCon` and `TypeRep` are supposed to be abstract, by providing these additional few public operations the need to import `Data.Typeable.Internal` is reduced, and future changes to the internal structure of `TypeRep`/`TyCon` shouldn't require changes in packages such as `deepseq` or `hashable` anymore (hopefully). Reviewers: ekmett, simonpj, tibbe, austin Reviewed By: ekmett, simonpj, austin Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D699

 23 Jan, 2015 1 commit


David Feuer authored
Also remove foldr2/right rule to avoid possibly introducing bottoms with rules. This effectively reverts most of 488e95b4 Reviewed By: nomeata Differential Revision: https://phabricator.haskell.org/D602

 22 Jan, 2015 1 commit


Herbert Valerio Riedel authored
(2nd attempt, this time leaving the `Constr` using `":%"`) The Data instance for `Ratio` just uses the raw `:%` constructor and doesn't check that the result is reduced to normal form. The fix is to add back the `Integral` constraint on the Data instance (which was dropped in c409b6f3) and to use `%` rather than `:%` in the `gfoldl` and `gunfold` implementation. This restores the invariant and matches the behavior of "virtual constructors" we've used to patch up such problems elsewhere. This addresses #10011 Reviewed By: ekmett, austin Differential Revision: https://phabricator.haskell.org/D625

 21 Jan, 2015 2 commits


Herbert Valerio Riedel authored
This reverts commit 79b0d0e6 due to Compile failed (status 256) errors were: [1 of 2] Compiling A ( A.hs, A.o ) [2 of 2] Compiling Main ( T4491.hs, T4491.o ) T4491.hs:19:11: Illegal data constructor name: â€˜%â€
™ When splicing a TH expression: (GHC.Real.%) 11 2 In the splice: $(dataToExpQ (const Nothing) (5.5 :: Rational)) *** unexpected failure for T4491(normal) Therefore reopening #10011 
Herbert Valerio Riedel authored
The Data instance for `Ratio` just uses the raw `:%` constructor and doesn't check that the result is reduced to normal form. The fix is to add back the `Integral` constraint on the Data instance (which was dropped in c409b6f3) and to use `%` rather than `:%` in the `gfoldl` and `gunfold` implementation. This restores the invariant and matches the behavior of "virtual constructors" we've used to patch up such problems elsewhere. This addresses #10011 Reviewed By: ekmett, austin Differential Revision: https://phabricator.haskell.org/D625

 14 Jan, 2015 1 commit


Fumiaki Kinoshita authored
As suggested in https://www.haskell.org/pipermail/libraries/2013October/021531.html this adds the following instances  `Show a => Show (Const a b)`  `Read a => Read (Const a b)`  `Eq a => Eq (Const a b)`  `Ord a => Ord (Const a b)` The Read/Show instances are defined in such a way as if `Const` was defined without recordsyntax (i.e. as `newtype Const a b = Const a`) Addresses #9984 Reviewed By: ekmett Differential Revision: https://phabricator.haskell.org/D619

 19 Dec, 2014 1 commit


Herbert Valerio Riedel authored
These two facilities provide some means to avoid the doublebreakage caused by first by the deprecation (see #2496), and then again by the actual future fieldremoval. See also https://groups.google.com/d/msg/haskellcorelibraries/q9HQlL_gnE/4lbb_mBjre8J for details about this library addition. Reviewed By: ekmett Differential Revision: https://phabricator.haskell.org/D577

 06 Dec, 2014 1 commit


Herbert Valerio Riedel authored
[skip ci]
