- Nov 18, 2014
-
-
Adam Gundry authored
-
Adam Gundry authored
-
Adam Gundry authored
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
Edward Z. Yang authored
Summary: A while back when I was refactoring the package code, I tried to solve a performance problem by introducing a fastpath for module lookups. Well, it turned out the performance problem was unrelated, but I kept the optimization because it seemed vaguely useful. In this commit, I remove the optimization because I don't really think it's buying us much and it increased code complexity. ToDo: Inline mkModuleToPkgConfGeneric into mkModuleToPkgConfAll Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: simonpj, austin Reviewed By: austin Subscribers: thomie, carter Differential Revision: https://phabricator.haskell.org/D434
-
David Feuer authored
Summary: Instead, describe what it actually does. Reviewers: austin, ekmett, simonpj, hvr Reviewed By: austin, ekmett Subscribers: simonpj, thomie, carter Projects: #ghc Differential Revision: https://phabricator.haskell.org/D448
-
Alan Zimmerman authored
Summary: The derived Show instances for SrcSpan and SrcLoc are very verbose. This patch replaces them with hand-made ones which use positional syntax for the record constructors, rather than exhaustively listing each one. Test Plan: sh ./validate Reviewers: austin Reviewed By: austin Subscribers: thomie, carter Differential Revision: https://phabricator.haskell.org/D445
-
Edward Z. Yang authored
Summary: Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: n/a Reviewers: austin, Mikolaj Reviewed By: austin, Mikolaj Subscribers: thomie, carter Differential Revision: https://phabricator.haskell.org/D446
-
David Feuer authored
Summary: Make listArray fuse with a list producer. Note: if code size increases too much, we can fix that with some `RULES`. Reviewers: nomeata, hvr, austin, ekmett, simonmar, bgamari Reviewed By: bgamari Subscribers: bgamari, thomie, carter Differential Revision: https://phabricator.haskell.org/D474 GHC Trac Issues: #9801
-
Yuras authored
Summary: It describes a work around Trac #3838, but it is already fixed and the workaround removed, Trac #7653 Test Plan: not needed Reviewers: hvr, Mikolaj, austin Reviewed By: austin Subscribers: thomie, carter Differential Revision: https://phabricator.haskell.org/D478
-
Mateusz Kowalczyk authored
Summary: This will *not* work on NixOS for example. Reviewers: austin Reviewed By: austin Subscribers: thomie, carter Differential Revision: https://phabricator.haskell.org/D479 GHC Trac Issues: #9057
-
GregWeber authored
Reviewers: austin Reviewed By: austin Subscribers: thomie, carter Differential Revision: https://phabricator.haskell.org/D481 GHC Trac Issues: #4900
-
- Nov 17, 2014
-
-
Adam Gundry authored
It turns out that emitInsoluble isn't the right thing, because the insolubles should be returned in the wc_insol field of the WantedConstraints.
-
Adam Gundry authored
-
Simon Marlow authored
-
David Terei authored
updated to handle `-fwarn-trustworthy-safe`.
-
- Nov 16, 2014
-
-
Eric Seidel authored
-
- Nov 15, 2014
-
-
Herbert Valerio Riedel authored
At optimization level `-O0` `wordToInteger` wasn't inlined, and this caused a `__integer` literal to turn up in final Core, which would trigger the GHC panic ghc-stage1: panic! (the 'impossible' happened) (GHC version 7.9.20141114 for x86_64-unknown-linux): Can't use Integer in integer-* By forcing inlining via `inline` this is avoided. This should hopefully address #9800.
-
Herbert Valerio Riedel authored
This pulls in the new `Generic`-based `-XDefaultSignature`-based default implementation for `rnf`[1], and will be interesting to use in combination with the soon to be merged `-XDeriveAnyClass` extension. This requires updating several other submodules as well in order to relax the upper bound on `deepseq` and/or in a few cases to avoid relying on the default method implementation of `rnf`: - `Cabal` - `bytestring` - `containers` - `parallel` - `process` - `time` [1]: http://permalink.gmane.org/gmane.comp.lang.haskell.libraries/23031
-
Herbert Valerio Riedel authored
This is only a temporary kludge until the issue workarounded by 452d6aa9 gets properly fixed
-
Edward Z. Yang authored
Summary: Instead of recording exposed-modules and reexported-modules as seperate fields in the installed package database, this commit merges them into a single field (exposed-modules). The motivation for this change is in preparation for the inclusion of *signatures* into the installed package database, which may also be reexported. Merging the representation means that we can treat reexports uniformly, no matter if they're a normal module or a signature. This commit adds a stub for signatures, but that code isn't wired up to anything yet. Contains Cabal submodule update to accommodate these changes. Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: simonpj, duncan, austin Subscribers: thomie, carter, simonmar Differential Revision: https://phabricator.haskell.org/D421
-
- Nov 14, 2014
-
-
Austin Seipp authored
This introduces ./validate failures for Windows right now, so in the mean time let's just back this flag out as a default -Wall flag. Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Adam Gundry authored
-
Adam Gundry authored
The solver is now provided with a boolean flag, which is False when invoked inside solveFlats and True when invoked on the unflattened constraints at the end.
-
[skip ci]
-
- Nov 13, 2014
-
-
Implement an `amap`/`coerce` rule in `GHC.Arr` to match the `map`/`coerce` rule in GHC.Base. In order to do so, delay inlining `amap` until phase 1. To prevent the inlining delay from causing major inefficiencies due to missed list fusion, rewrite `amap` to avoid relying on list fusion. This has the extra benefit of reducing the size of the compiled amap code by skipping the impossible case of an array with a negative size. Reviewed By: nomeata Differential Revision: https://phabricator.haskell.org/D471
-
Gergő Érdi authored
as type arguments, not value arguments
-
Gergő Érdi authored
-
Gergő Érdi authored
See Note [Unfolding while desugaring] for the rationale.
-
Gergő Érdi authored
generate a worker function of type Void# -> T#, and redirect the wrapper (via a compulsory unfolding) to the worker. Fixes #9732.
-
Gergő Érdi authored
-
Gergő Érdi authored
-
Herbert Valerio Riedel authored
GMP 4.x didn't provide the `mp_bitcnt_t` typedef yet, so we locally define one if GMP 4.x is detected.
-
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
-
This avoids duplication in `GHC.Base`; originally, we had mapM f = sequence . map f This led to excessive allocation in `cryptarithm2`. Defining sequence = mapM id does not appear to cause any `nofib` problems. Reviewed By: hvr Differential Revision: https://phabricator.haskell.org/D470
-
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
-
Make the comment on the map/coerce rule refer to the right section in the paper; give the full name of the papers, and name its authors. [skip ci] Differential Revision: https://phabricator.haskell.org/D472
-
David Terei authored
-
David Terei authored
Update submodule haskell2010, haskell98, hoop, hpc and stm to fix new warnings.
-
David Terei authored
This warns when a module marked as `-XTrustworthy` could have been inferred as safe instead.
-