| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
This is done by a 'unarisation' pre-pass at the STG level which
translates away all (live) binders binding something of unboxed
tuple type.
This has the following knock-on effects:
* The subkind hierarchy is vastly simplified (no UbxTupleKind or ArgKind)
* Various relaxed type checks in typechecker, 'foreign import prim' etc
* All case binders may be live at the Core level
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, the `-no-user-package` and `-no-global-package` flags
affected the "initial" stack only, while `user-package` and
`global-packages` appended to the end of the stack.
This commit changes the behavior of those flags, so that they are always
applied to the stack as a whole.
The effect of the GHC_PACKAGE_PATH environment variable has also been
changed: terminating it with a separator now adds the default package
dbs (user and global) instead of the initial stack.
|
| |
|
|
|
|
|
|
|
|
| |
Rename package database flags in both GHC and ghc-pkg so that they are
consistent with Cabal nomenclature.
Add a version check to the build system so that the correct set of
package db flags are used when the bootstrapping GHC has version < 7.5.
|
|
|
|
|
|
|
|
| |
Introduce new flags to allow any package database stack to be set up.
The `-no-user-package-conf` and `-no-global-package-conf` flags remove
the corresponding package db from the initial stack, while
`-user-package-conf` and `-global-package-conf` push it back on top of
the stack.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We were hitting a problem when reading the LANGUAGE/OPTIONS pragmas
from GHC.TypeLits, where the buffer ended "{-". The rules for the
start-comment lexeme check that "{-" is not followed by "#", but the
test returned False when there was no next character. Therefore we
were lexing this as as an open-curly lexeme (only consuming the "{",
and not reaching the end of the buffer),
which meant the options parser think that it had reached the end of
the options.
Now we correctly lex as "{-".
|
|
|
|
| |
Surround a name in backticks when printing an infix declaration in GHCi.
|
|
|
|
|
|
|
|
|
|
|
| |
When unifying two type variables we must unify their kinds.
The pure *matcher* was doing so, but the pure *unifier* was not.
This patch fixes Trac #6015, where an instance lookup was failing
when it should have succeeded.
I removed a bunch of code aimed at support sub-kinding. It's
tricky, ad-hoc, and I don't think its necessary any more.
Anything we can do to simplify the sub-kinding story is welcome!
|
|\ |
|
| |
| |
| |
| | |
Fixes cgrun045(ghci) amongst others
|
| | |
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is really a small change, but it touches a lot of files quite
significantly. The real goal is to put the implicitly-bound kind
variables of a data/class decl in the right place, namely on the
LHsTyVarBndrs type, which now looks like
data LHsTyVarBndrs name
= HsQTvs { hsq_kvs :: [Name]
, hsq_tvs :: [LHsTyVarBndr name]
}
This little change made the type checker neater in a number of
ways, but it was fiddly to push through the changes.
|
| |
|
|\ |
|
| |
| |
| |
| | |
Fixes Trac #6078
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
* Put the result type in the Stop continuation
* No need for the alts type in Select
The result is a modest but useful simplification
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This turns out to be important becuase we don't have
a form for superclass selection in TcCoercion (we could
but we don't).
Se comments with xCtFlavor_cache, the Given case.
|
| | |
| | |
| | |
| | |
| | | |
This is kosher, and turns out to be vital when we have
more complicate evidence terms.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is the result of Simon and Dimitrios doing a code walk through.
There is no change in behaviour, but the structure is much better.
Main changes:
* Given constraints contain an EvTerm not an EvVar
* Correspondingly, TcEvidence is a recursive types that uses
EvTerms rather than EvVars
* Rename CtFlavor to CtEvidence
* Every CtEvidence has a ctev_pred field. And use record fields
consistently for CtEvidence
* The solved-constraint fields of InertSet (namely inert_solved and
inert_solved_funeqs) contain CtEvidence, not Ct
There is a long cascade of follow-on changes.
|
| |\ \ |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| |/ /
| | |
| | |
| | | |
We get these in a full build on Win64
|
| |\ \ |
|
| | | | |
|
| | | | |
|
| |/ / |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
I'm not sure if we still need to encode the error, but validate is happy
with this fix, at least.
|
| | |
| | |
| | |
| | |
| | |
| | | |
On Win64, "install -s" calls a strip that doesn't understand 64bit
binaries. For some reason, this means the DLLs end up non-executable,
which means executables that use them just segfault.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Otherwise the dynHelloWorld test segfaults when run from an installed
compiler on cygwin.
|
| | |
| | |
| | |
| | | |
Stops outofmem segfaulting on Win64
|
| | | |
|
| |\ \
| | |/ |
|
| | | |
|
| |/ |
|
| |
| |
| |
| | |
compiler/simplCore/SimplUtils.lhs:1668:5-25: Irrefutable pattern failed for pattern ((_, _, rhs1) : _)
|
| | |
|