- 03 Oct, 2012 6 commits
-
-
ian@well-typed.com authored
I've put mkSOName in HscTypes for now; I'm not sure what the best place for it is.
-
ian@well-typed.com authored
-
ian@well-typed.com authored
This required various build system changes to get the build to go through. In the inplace shell wrappers, we set LD_LIBRARY_PATH to allow programs to find their libraries. In the future, we might change the inplace tree to be the same shape as an installed tree instead. However, this would mean changing the way we do installation, as currently we use cabal's installation methods to install the libraries, but that only works if the libraries are under libraries/foo/dist-install/build/..., rather than in inplace/lib/...
-
Simon Peyton Jones authored
All the work was done by Dan Winograd-Cort. The main thing is that arrow comamnds now have their own data type HsCmd (defined in HsExpr). Previously it was punned with the HsExpr type, which was jolly confusing, and made it hard to do anything arrow-specific. To make this work, we now parameterise * MatchGroup * Match * GRHSs, GRHS * StmtLR and friends over the "body", that is the kind of thing they enclose. This "body" parameter can be instantiated to either LHsExpr or LHsCmd respectively. Everything else is really a knock-on effect; there should be no change (yet!) in behaviour. But it should be a sounder basis for fixing bugs.
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
-
- 02 Oct, 2012 8 commits
-
-
ian@well-typed.com authored
-
Simon Peyton Jones authored
See Trac #7287
-
Simon Peyton Jones authored
Make sure that we check for type errors strictly in a Template Haskell splice, even if -fdefer-type-errors is on We're going to run this code, so there's no point in deferring type errors. Worse, TcSplice uses unsafeCoerce (for vevy good reasons), so splicing a type into a place where an expression is expected would yield a seg-fault if we plough on regardless. Fixes Trac #7276
-
Simon Peyton Jones authored
This is just a bug that's been around since we introduced polymorphic kinds. The roots are in Type.cmpTypeX, but there was a variant in TcRnDriver.checkBootTyCon, which is where it came up. Fixes Trac #7272
-
Simon Peyton Jones authored
* Get rid of the lookupInInerts stage * Re-introduce the flat-cache for flattening type-family equations See Note [Type family equations] in TcSMonad. My previous clever attempt with organising the work list proved too fragile. There's a (static) flag -fno-flat-cache to switch if off, so you can try with and without * Improve the -ddump-cs-trace output * The usual round of refactoring
-
Simon Marlow authored
-
Simon Peyton Jones authored
The constraint solver sometimes goes to a lot of effort that turns out to be Refl in the end, and avoiding zonking those proofs is a useful optimisation. (Trac #5030)
-
Simon Peyton Jones authored
-
- 01 Oct, 2012 12 commits
-
-
ian@well-typed.com authored
This makes it easier to ensure that we get consistent consistency checking, e.g. that -f1 -f2 will do the same checks as -f2 -f1 I think that some of the checks were bogus before, but hopefully all are correct now.
-
ian@well-typed.com authored
It's still the case that -dynamic -static will leave -fPIC enabled, but it's tricky to avoid that, and we already have similar situations where for example -XRankNTypes -XNoRankNTypes will leave ExplicitForAll enabled.
-
ian@well-typed.com authored
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
These variables all have uniformative names like "cobox" or "d". Make them System Names tells the pretty printer to show their uniques even without -dppr-debug. That in turn makes the less-voluminous debug traces *much* more informative.
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
-
- 29 Sep, 2012 2 commits
-
-
ian@well-typed.com authored
We used to add the options when the way was enabled, but this caused problems with the static/dynamic choice, as once the 'dynamic' options had been added it wasn't easy to remove them. We therefore didn't allow -static on the commandline if we'd already seen -static, which kludged around the issue. But apart from being unsatisfactory in the first place, this is a problem if we want to allow -dynamic being on by default, as there wouldn't be any way to turn it off. So now we add C/CPP/linker flags required by the 'way's when flags are requested, rather than during flag parsing.
-
Simon Peyton Jones authored
This fixes Trac #7278
-
- 28 Sep, 2012 7 commits
-
-
Simon Peyton Jones authored
* Treat kind-equality constraints as *derived* equalities, with no evidence. That is really what they are at the moment. * Get rid of EvKindCast and friends. * Postpone kind errors properly to the constraint solver (lots of small knock-on effects) I moved SwapFlag to BasicTypes as well
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
-
- 26 Sep, 2012 3 commits
-
-
ian@well-typed.com authored
-
Edward Z. Yang authored
The current fix is relatively dumb as far as where to add HpLim checks: it will always perform a check unless we know that we're returning from a closure or we are doing a non let-no-escape case analysis. The performance impact on the nofib suite looks like this: Min +5.7% -0.0% -6.5% -6.4% -50.0% Max +6.3% +5.8% +5.0% +5.5% +0.8% Geometric Mean +6.2% +0.1% +0.5% +0.5% -0.8% Overall, the executable bloat is the biggest problem, so we keep the old omit-yields optimization on by default. Remember that if you need an interruptibility guarantee, you need to recompile all of your libraries with -fno-omit-yields. A better fix would involve only inserting the yields necessary to break loops; this is left as future work. Signed-off-by:
Edward Z. Yang <ezyang@mit.edu>
-
Simon Marlow authored
-
- 25 Sep, 2012 2 commits
-
-
Simon Marlow authored
-
Simon Marlow authored
This is a hopefully temporary measure until the new SRT design is implemeented.
-