- 15 May, 2012 4 commits
-
-
pcapriotti authored
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.
-
pcapriotti authored
-
pcapriotti authored
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.
-
pcapriotti authored
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.
-
- 14 May, 2012 3 commits
-
-
Ian Lynagh authored
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 "{-".
-
pcapriotti authored
Surround a name in backticks when printing an infix declaration in GHCi.
-
Simon Peyton Jones authored
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!
-
- 11 May, 2012 4 commits
-
-
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
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.
-
Simon Marlow authored
Fixes cgrun045(ghci) amongst others
-
- 10 May, 2012 2 commits
-
-
batterseapower authored
-
Simon Peyton Jones authored
-
- 09 May, 2012 10 commits
-
-
-
Simon Peyton Jones authored
* Undoes Max's very aggressive function-inlining change (see comments with Trac #6048) * Resticts function application discount to functions that occur just once in the body. It was the multiple occurrences that led to the exponential behavour in Trac #6048. See Note [Function application discount] in CoreUnfold. Module binary sizes are down 2% on average, which is good. Allocations wobble about a bit, but only on a few benchmarks and not by much, so it seems a price worth paying to avoid exponential behaviour! Allocs Min -1.2% Max +2.8% Geometric Mean +0.0%
-
Simon Peyton Jones authored
Fixes Trac #6078
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
* Put the result type in the Stop continuation * No need for the alts type in Select The result is a modest but useful simplification
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
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.
-
Simon Peyton Jones authored
This is kosher, and turns out to be vital when we have more complicate evidence terms.
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
When inlining, we are making a copy of the expression, so we have to be careful about duplicating work. Previously we were using exprIsCheap for that, but it is willing to duplicate a cheap primop -- and that is terribly bad if it happens inside some inner array loop (Trac #5623). So now we use a new function exprIsWorkFree. Even then there is some wiggle room: see Note [exprIsWorkFree] in CoreUtils This commit does make wheel-sieve1 allocate a lot more, but we decided that's just tough; it's more important for inlining to be robust about not duplicating work.
-
- 08 May, 2012 3 commits
-
-
Ian Lynagh authored
-
pcapriotti authored
-
pcapriotti authored
-
- 07 May, 2012 8 commits
-
-
pcapriotti authored
-
pcapriotti authored
-
Ian Lynagh authored
We get these in a full build on Win64
-
Simon Peyton Jones authored
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.
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
chak@cse.unsw.edu.au. authored
-
- 06 May, 2012 5 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
I'm not sure if we still need to encode the error, but validate is happy with this fix, at least.
-
Ian Lynagh authored
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.
-
Ian Lynagh authored
-
Ian Lynagh authored
-
- 05 May, 2012 1 commit
-
-
Ian Lynagh authored
Otherwise the dynHelloWorld test segfaults when run from an installed compiler on cygwin.
-