| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
This just simplifies the error message in cases where there are no useful
equalities in the context
|
|
|
|
|
|
| |
that binds a variable mentioned in the wanted
There is really no point in reporting ones further out; they can't be useful
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.)
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This change is just for naming uniformity with the existing downgradeRole
|
|
|
|
| |
similar functions
|
|
|
|
|
| |
This function previously would expand *data* families even when it was asked
for a *Nominal* coercion. This patch fixes it, and adds comments.
|
| |
|
|
|
|
|
| |
This is a straight refactoring that puts the generation of unfolding
info in one place, which is a lot tidier
|
|
|
|
|
| |
The simplified function is tcSuperClasses;
no need for an implication constraint here
|
|
|
|
|
| |
I forget all the details, but I spent some time trying to
understand the current setup, and tried to simplify it a bit
|
|
|
|
|
| |
In particular, print a bit of debug info in debug-style and dump-style
Otherwise distinct type variables look the same
|
| |
|
|
|
|
|
|
| |
This was broken in d94de87252d0fe2ae97341d186b03a2fbe136b04 when `join`
was inserted between `Monad`'s Haddock string and the `class Monad m`
definition thereby breaking the association.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
[skip ci]
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
thanks to Jan for nudging.
|
| |
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Differential Revision: https://phabricator.haskell.org/D391
|
|
|
|
| |
since they are disallowed both in class and instance declarations
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
This should fix #8953.
|
| |
|
| |
|
| |
|
|
|
|
| |
Fix #9262.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
expected output.
Reviewers: austin
Reviewed By: austin
Subscribers: thomie, carter, simonmar
Differential Revision: https://phabricator.haskell.org/D403
GHC Trac Issues: #5435
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
The internal Unicode definitions were updated via
d4fd16801bc59034abdc6214e60fcce2b21af9c8
[skip ci]
|