- 29 Apr, 2009 1 commit
-
-
Ian Lynagh authored
-
- 28 Apr, 2009 7 commits
-
-
Ian Lynagh authored
After the fix to #2500, we could get "Failing due to -Werror." but no warnings printed. Now we don't fail in that case.
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
# ----------------------------------------------------------------------------- # # (c) 2009 The University of Glasgow # # This file is part of the GHC build system. # # To understand how the build system works and how to modify it, see # http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture # http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying # # -----------------------------------------------------------------------------
-
Simon Marlow authored
-
- 27 Apr, 2009 6 commits
-
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
-
chak@cse.unsw.edu.au. authored
- This patch changes the equality constraint solver such that it does not instantiate any type variables that occur in the constraints that are to be solved (or in the environment). Instead, it returns a bag of type bindings. - If these type bindings (together with the other results of the solver) are discarded, solver invocation has no effect (outside the solver) and can be repeated (that's imported for TcSimplifyRestricted). - For the type bindings to take effect, the caller of the solver needs to execute them. - The solver will still instantiate type variables thet were created during solving (e.g., skolem flexibles used during type flattening). See also http://hackage.haskell.org/trac/ghc/wiki/TypeFunctionsSolving
-
- 26 Apr, 2009 3 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
- 25 Apr, 2009 1 commit
-
-
Ben.Lippmeier@anu.edu.au authored
-
- 24 Apr, 2009 8 commits
-
-
Ian Lynagh authored
This showed up when converting ds057 to follow the new bang pattern rules, in #2806.
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
For now we only get a warning, rather than an error, because the alex and happy templates don't follow the new rules yet.
-
simonpj@microsoft.com authored
The top-level indirection-shorting, done in SimplCore.shortOutIndirections, was accidentally nuking a NOINLINE pragma. This patch adopts a slightly more conservative approach to indirection-shorting, only doing so if we do not thereby overwrite or lose some user-supplied pragmas.
-
Ben.Lippmeier@anu.edu.au authored
movss instruction was being used to move the result into the destination register instead of movsd
-
Simon Marlow authored
-
simonpj@microsoft.com authored
-
- 23 Apr, 2009 6 commits
-
-
Simon Marlow authored
Also some tidyups and renaming
-
Simon Marlow authored
Part of the fix for #3171
-
Simon Marlow authored
Part of the fix for #3171
-
simonpj@microsoft.com authored
-
simonpj@microsoft.com authored
When making record selectors into ordinary functions (rather than magial implicit Ids) I forgot that they could therefore show up in the *local* TcEnv, not the global one. This fixes that problem, and thereby Trac #3176.
-
simonpj@microsoft.com authored
-
- 21 Apr, 2009 5 commits
-
-
Simon Marlow authored
-
Simon Marlow authored
In GHCi if you say 'import Foo' meaning to load a package module Foo, and Foo.hs is found on the search path, then GHCi replies "module Foo is not loaded", because it knows Foo refers to the source file rather than the package module, and you haven't loaded that module with :load. This is consistent with the usual module-finding semantics. However, it isn't particularly useful. And it leads to silly problems like not being able to start GHCi when you happen to be sitting in libraries/base, because GHCi thinks the Prelude hasn't been loaded. So now I've made a slight change to the way that 'import M' works: if M is loaded, then it refers to the loaded module, otherwise it looks for a package module M. This does what the reporter of #2682 wanted, and since it turns an error condition into meaningful behaviour it can't break anything. The only undesirable consequence is that 'import M' might refer to a different M than ':load M'. Hopefully that won't lead to confusion.
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
-
- 20 Apr, 2009 1 commit
-
-
Simon Marlow authored
It turns out we can easily support breakpoints on expressions with unlifted types, by translating case tick# of _ -> e into let f = \s . case tick# of _ -> e in f realWorld# instead of just a plain let-binding. This is the same trick that GHC uses for abstracting join points of unlifted type. In #2845, GHC has eta-expanded the tick expression, changing the result type from IO a to (# State#, a #), which was the reason the tick was suddenly being ignored. By supporting ticks on unlifted expressions we can make it work again, although some confusion might arise because _result will no longer be available (it now has unboxed-tuple type, so we can't bind it in the environment). The underlying problem here is that GHC does transformations like eta-expanding the tick expressions, and there's nothing we can do to prevent that.
-
- 03 Apr, 2009 1 commit
-
-
Simon Marlow authored
-
- 20 Apr, 2009 1 commit
-
-
Ben.Lippmeier@anu.edu.au authored
Can't use windowed regs because the window moves during a function call. Can't use the global regs because they're reserved for other purposes.
-