summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Only report "could not deduce s~t from ..." for givens that include equalitiesSimon Peyton Jones2014-11-041-6/+8
| | | | | This just simplifies the error message in cases where there are no useful equalities in the context
* When reporting the context of given constraints, stop when you find oneSimon Peyton Jones2014-11-041-6/+17
| | | | | | that binds a variable mentioned in the wanted There is really no point in reporting ones further out; they can't be useful
* Typechecker debug tracing onlySimon Peyton Jones2014-11-044-32/+39
|
* Normalise the type of an inferred let-bindingSimon Peyton Jones2014-11-042-12/+21
| | | | | | | | | | | With the new constraint solver, we don't guarantee to fully-normalise all constraints (if doing so is not necessary to solve them). So we may end up with an inferred type like f :: [F Int] -> Bool which could be simplifed to f :: [Char] -> Bool if there is a suitable family instance declaration. This patch does this normalisation, in TcBinds.mkExport
* Get the Untouchables level right in simplifyInferSimon Peyton Jones2014-11-045-126/+179
| | | | | | | | Previously we could get constraints in which the untouchables-level did not strictly increase, which is one of the main invariants! This patch also simplifies and modularises the tricky case of generalising an inferred let-binding
* Refactor the treatment of lexically-scoped type variables for instance ↵Simon Peyton Jones2014-11-044-21/+28
| | | | | | | | | | | | | | declarations Previously the univerally-quantified variables of the DFun were also (bizarrely) used as the lexically-scoped variables of the instance declaration. So, for example, the DFun's type could not be alpha-renamed. This was an odd restriction, which has bitten me several times. This patch does the Right Thing, by adding an ib_tyvars field to the InstBindings record, which captures the lexically scoped variables. Easy, robust, nice. (I think this record probably didn't exist originally, hence the hack.)
* Refactor skolemising, and newClsInstSimon Peyton Jones2014-11-045-103/+117
| | | | | | | | | This makes newClsInst (was mkInstance) look more like newFamInst, and simplifies the plumbing of the overlap flag, and ensures that freshening (required by the InstEnv stuff) happens in one place. On the way I also tided up the rather ragged family of tcInstSkolTyVars and friends. The result at least has more uniform naming.
* Rename setRole_maybe to downgradeRole_maybeSimon Peyton Jones2014-11-041-18/+18
| | | | This change is just for naming uniformity with the existing downgradeRole
* Simplify the API for tcInstTyVars, and make it more consistent with other ↵Simon Peyton Jones2014-11-045-31/+33
| | | | similar functions
* Fix reduceTyFamApp_maybeSimon Peyton Jones2014-11-041-12/+34
| | | | | This function previously would expand *data* families even when it was asked for a *Nominal* coercion. This patch fixes it, and adds comments.
* White space onlySimon Peyton Jones2014-11-045-52/+60
|
* Add the unfolding and inline-pragma for DFuns in DsBinds, not TcInstDclsSimon Peyton Jones2014-11-042-23/+28
| | | | | This is a straight refactoring that puts the generation of unfolding info in one place, which is a lot tidier
* Simplify the generation of superclass constraints in tcInstDecl2Simon Peyton Jones2014-11-041-9/+10
| | | | | The simplified function is tcSuperClasses; no need for an implication constraint here
* Some refactoring around endPass and debug dumpingSimon Peyton Jones2014-11-0413-117/+157
| | | | | I forget all the details, but I spent some time trying to understand the current setup, and tried to simplify it a bit
* Improve pretty-printing of type variablesSimon Peyton Jones2014-11-041-10/+10
| | | | | In particular, print a bit of debug info in debug-style and dump-style Otherwise distinct type variables look the same
* Tidy up pretty-printing of SrcLoc and SrcSpanSimon Peyton Jones2014-11-041-46/+55
|
* Fix lost Haddock annotation for `class Monad m`Herbert Valerio Riedel2014-11-041-7/+6
| | | | | | This was broken in d94de87252d0fe2ae97341d186b03a2fbe136b04 when `join` was inserted between `Monad`'s Haddock string and the `class Monad m` definition thereby breaking the association.
* Refactor Haddock comments in Data.BitsHerbert Valerio Riedel2014-11-041-17/+18
| | | | | | | | | | | This removes the redundant "Minimal complete definition"-block included in the Haddock comment since Haddock renders the `MINIMAL`-pragma as well (which has is moved to the start of `class` definition for better readability of the source code) Morever, the references to `testBitDefault`, `bitDefault`, and `popCountDefault` have been moved to the respective methods' Haddock strings for which they can be used.
* Minor Haddock markup improvement to Data.MonoidHerbert Valerio Riedel2014-11-041-7/+7
| | | | [skip ci]
* Add `Alternative` wrapper to Data.MonoidDavid Feuer2014-11-042-29/+33
| | | | | | | | | Complete #9759. Use `coerce` to get nicer definitions of `Sum` and `Product`; update documentation for `First` and `Last`. Reviewed By: hvr Differential Revision: https://phabricator.haskell.org/D422
* Further relax T1969’s max_bytes rangeJoachim Breitner2014-11-041-2/+3
|
* Make Foldable's foldr1 and foldl1 defaults lazierDavid Feuer2014-11-041-4/+6
| | | | | | | | | | | | Fixes #9742. Previously, `foldr1` as applied to a list-like structure would be strict in the spine, and `foldl1` would be strict in the spine of a snoc-list. See also https://www.haskell.org/pipermail/libraries/2014-October/024035.html Differential Revision: https://phabricator.haskell.org/D423
* Link to oneShot from the User's GuideJoachim Breitner2014-11-031-0/+4
| | | | thanks to Jan for nudging.
* Update expected profiling output for scc001Joachim Breitner2014-11-031-18/+23
|
* Use oneShot in the definition of foldl etc.Joachim Breitner2014-11-022-13/+30
| | | | | | | This increases the chance of good code after fusing a left fold. See ticket #7994 and the new Note [Left folds via right fold] Differential Revision: https://phabricator.haskell.org/D393
* Add GHC.Prim.oneShotJoachim Breitner2014-11-0211-7/+133
| | | | | | | | | | | to allow the programer to explictitly set the oneShot flag. This helps with #7994 and will be used in left folds. Also see https://ghc.haskell.org/trac/ghc/wiki/OneShot This commit touches libraries/base/GHC/Event/Manager.hs (which used to have a local definition of the name oneShot) to avoid a shadowing error. Differential Revision: https://phabricator.haskell.org/D392
* Put one-Shot info in the interfaceJoachim Breitner2014-11-025-19/+69
| | | | Differential Revision: https://phabricator.haskell.org/D391
* Tweak the error message for pattern synonym methods,Dr. ERDI Gergo2014-11-027-6/+17
| | | | since they are disallowed both in class and instance declarations
* Update release notes for #9262 #8953 #9084.Richard Eisenberg2014-11-021-0/+28
|
* Fix #9738, by handling {-# ANN ... #-} in DsMeta.Richard Eisenberg2014-11-012-20/+67
|
* Test #9738 in th/T9738Richard Eisenberg2014-11-013-0/+18
|
* Fix testsuite output from #9084.Richard Eisenberg2014-11-012-1/+4
|
* Fix #9084 by calling notHandled when unknown bits are enountered.Richard Eisenberg2014-11-011-19/+60
|
* Test #9084 in th/T9084.Richard Eisenberg2014-11-013-0/+13
| | | | | | The patch includes errors for a whole host of pragmas. But, these are generated one at a time, and it doesn't seem like a good idea to add gobs of test-cases here.
* Testsuite wibbles from fixing #8953Richard Eisenberg2014-11-017-30/+35
|
* Annotate poly-kinded type patterns in instance reification.Richard Eisenberg2014-11-012-20/+73
| | | | This should fix #8953.
* Annotate reified poly-kinded tycons when necessary. (#8953)Richard Eisenberg2014-11-011-3/+69
|
* Always use KindedTV when reifying. (#8953)Richard Eisenberg2014-11-011-3/+4
|
* Test #8953 in th/T8953Richard Eisenberg2014-11-013-0/+59
|
* Bring unbound tyvars into scope during reifyInstances.Richard Eisenberg2014-11-012-14/+23
| | | | Fix #9262.
* Test #9262 in th/T9262, and update other tests.Richard Eisenberg2014-11-015-20/+21
|
* Fixed T5435_dyn_asm on Windows. The test code was not in sync with the ↵Gintautas Miliauskas2014-11-011-0/+2
| | | | | | | | | | | | | | expected output. Reviewers: austin Reviewed By: austin Subscribers: thomie, carter, simonmar Differential Revision: https://phabricator.haskell.org/D403 GHC Trac Issues: #5435
* rnMethodBind: reject pattern synonyms in instance definitions (fixes #9705)Dr. ERDI Gergo2014-11-014-0/+18
|
* Fix comment about dropWhileEndLEJoachim Breitner2014-11-011-1/+1
|
* Fix build via Haddock submodule update.Austin Seipp2014-10-311-0/+0
| | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
* Remove legacy support for -optdef flagsThomas Miedema2014-10-311-24/+4
| | | | | | | | | | | | | | Summary: -optdef flags were deprecated in or before 2008 Reviewers: austin Reviewed By: austin Subscribers: thomie, carter, simonmar Differential Revision: https://phabricator.haskell.org/D409 GHC Trac Issues: #2773
* remove old .NET related codeYuras Shumovich2014-10-3112-114/+6
| | | | | | | | | | | | | | Summary: It seems to be dead anyway. Also update Haddock submodule. Test Plan: validate Reviewers: austin Reviewed By: austin Subscribers: thomie, goldfire, carter, simonmar Differential Revision: https://phabricator.haskell.org/D357
* Split off stat (benchmark) test failures into a separate section in the test ↵Gintautas Miliauskas2014-10-312-8/+22
| | | | | | | | | | | | | | | | | runner summary. Stat tests are generally less reliable than other types of tests, so it's nice to have them in a separate section rather than interspersed with potential... Summary: ...correctness issues. Reviewers: austin Reviewed By: austin Subscribers: thomie, carter, simonmar Differential Revision: https://phabricator.haskell.org/D406
* Update doctest example style in `Data.Bool`Michael Orlitzky2014-10-311-20/+20
| | | | | | | | | 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
* Add changelog entry for recent Unicode 7.0 updateHerbert Valerio Riedel2014-10-311-0/+2
| | | | | | | The internal Unicode definitions were updated via d4fd16801bc59034abdc6214e60fcce2b21af9c8 [skip ci]