- 25 Jun, 2011 2 commits
-
-
Ian Lynagh authored
Based on a patch from David Terei. Some parts are a little ugly (e.g. defining things that only ASSERTs use only when DEBUG is defined), so we might want to tweak things a little. I've also turned off -Werror for didn't-inline warnings, as we now get a few such warnings.
-
Ian Lynagh authored
-
- 24 Jun, 2011 8 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
dterei authored
-
dterei authored
-
dterei authored
-
- 23 Jun, 2011 8 commits
-
-
http://darcs.haskell.org/ghcIan Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Simon Peyton Jones authored
-
Ian Lynagh authored
-
-
Simon Peyton Jones authored
This type was mainly there to support silent superclass parameters for dfuns, and they have gone away. So this patch is another minor simplification. (Interface format change; you need to make clean.)
-
tibbe authored
Before this change the constant expression _ccI::I64 = (16 >> 7) + 1; wouldn't be propagated, as it wouldn't be completely folded. This meant that this expression wouldn't be unrolled thawArray# arr# 0# 16# s# The new code generator already does this correctly.
-
- 22 Jun, 2011 7 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
This is a little cleaner, and removes a barrier to cross-compiling to/from Windows. There are a few more tools that still need to be handled in the same way.
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
Hurrah. At last we can write class (F a ~ b) => C a b where { ... } This fruit of the fact that equalities are now values, and all evidence is handled uniformly. The main tricky point is that when translating to Core an evidence variable 'v' is represented either as either Var v or Coercion (CoVar v) depending on whether or not v is an equality. This leads to a few annoying calls to 'varToCoreExpr'.
-
Simon Peyton Jones authored
We introduced silent superclass parameters as a way to avoid superclass loops, but we now solve that problem a different way ("derived" superclass constraints carry no evidence). So they aren't needed any more. Apart from being a needless complication, they broke DoCon. Admittedly in a very obscure way, but still the result is hard to explain. To see the details see Trac #5051, with test case typecheck/should_compile/T5051. (The test is nice and small!)
-
- 19 Jun, 2011 3 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
chak@cse.unsw.edu.au. authored
-
- 18 Jun, 2011 12 commits
-
-
dterei authored
-
dterei authored
-
dterei authored
-
dterei authored
-
dterei authored
-
dterei authored
While we previously checked the safety of safe imported modules we didn't do this check transitively. This can be a problem when we depend on a trustworthy module in a package that is no longer trusted, so we should fail compilation. We already stored in an interface file the transitive list of packages a module depends on. Now we extend that list to include a flag saying if we depend on that package being trusted as well.
-
dterei authored
-
dterei authored
-
dterei authored
Comment was removed as I thought it was incorrect now with code changes but Simon M thinks my interpretation of the comment was incorrect. He isn't sure what the comment is refereeing to either though! So have restored comment and created trac #5249 to track fixing this at some point.
-
dterei authored
-
dterei authored
-
dterei authored
-