- 04 Dec, 2007 5 commits
-
-
simonpj@microsoft.com authored
Eta reduction was wrongly transforming f = \x. f x to f = f Solution: don't trust f's arity information; instead look at its unfolding. See Note [Eta reduction conditions] Almost all the new lines are comments!
-
simonpj@microsoft.com authored
(No need to merge to 6.8, but no harm if a subsequent patch needs it.) The proximate cause for this patch is to improve the inlining for INLINE things that are not functions; this came up in the NDP project. See Note [Lone variables] in CoreUnfold. This caused some refactoring that actually made things simpler. In particular, more of the inlining logic has moved from SimplUtils to CoreUnfold, where it belongs.
-
Simon Marlow authored
using the new block-inheriting forkIO (#1048)
-
Simon Marlow authored
Seems better than getting a confusing 'cannot find directory' exception.
-
Simon Marlow authored
-
- 03 Dec, 2007 1 commit
-
-
simonpj@microsoft.com authored
I finally got around to investigating why the Simplifier was sometimes iterating so often. There's a nice example in Text.ParserCombinators.ReadPrec, which produced: NOTE: Simplifier still going after 3 iterations; bailing out. Size = 339 NOTE: Simplifier still going after 3 iterations; bailing out. Size = 339 NOTE: Simplifier still going after 3 iterations; bailing out. Size = 339 No progress is being made. It turned out that an interaction between eta-expansion, casts, and eta reduction was responsible. The change is small and simple, in SimplUtils.mkLam: do not require the body to be a Lam when floating the cast outwards. I also discovered a missing side condition in the same equation, so fixing that is good too. Now there is no loop when compiling ReadPrec. Should do a full nofib run though.
-
- 02 Dec, 2007 1 commit
-
-
Ian Lynagh authored
-
- 28 Nov, 2007 2 commits
-
-
simonpj@microsoft.com authored
-
simonpj@microsoft.com authored
This was a bit tricky. We had a "given" dict like (d7:Eq a); then it got supplied to reduceImplication, which did some zonking, and emerged with a "needed given" (d7:Eq Int). That got everything confused. I found a way to simplify matters significantly. Now reduceContext - first deals with methods/literals/dictionaries - then deals with implications Separating things in this way not only made the bug go away, but eliminated the need for the recently-added "needed-givens" results returned by checkLoop. Hurrah. It's still a swamp. But it's a bit better.
-
- 30 Nov, 2007 2 commits
-
-
Simon Marlow authored
-
Simon Marlow authored
-
- 28 Nov, 2007 4 commits
-
-
simonpj@microsoft.com authored
This bug only reports a problem with phantom types, but actually there was quite a long-standing and significant omission in the constraint generation for derived classes. See Note [Superclasses of derived instance] in TcDeriv. The test deriving-1935 tests both cases.
-
simonpj@microsoft.com authored
-
simonpj@microsoft.com authored
-
Simon Marlow authored
-
- 22 Nov, 2007 1 commit
-
-
Bertram Felgenhauer authored
-
- 27 Nov, 2007 5 commits
-
-
Simon Marlow authored
-
Ian Lynagh authored
This is a bit unpleasant, as "make binary-dist" really shouldn't actually build anything, but it works.
-
Ian Lynagh authored
It wasn't doing the right thing for bindists. Let's rethink...
-
Simon Marlow authored
See comment for details
-
Simon Marlow authored
-
- 26 Nov, 2007 6 commits
-
-
Simon Marlow authored
-
Simon Marlow authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
- 25 Nov, 2007 5 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
Ian Lynagh <igloo@earth.li>**20071124231857 It used to be a synonym for ":r" in 6.6.1, but this wasn't documented or known about by the developers. In 6.8.1 it was accidentally broken. This patch brings it back, but as "repeat the last command", similar to pressing enter in gdb. This is almost as good for people who want it to reload, and means that it can also be used to repeat commands like :step.
-
- 24 Nov, 2007 6 commits
-
-
Ian Lynagh authored
Ian Lynagh <igloo@earth.li>**20071124171220
-
Ian Lynagh authored
It's far too large now, and no-one complained when 6.8.1 didn't have one.
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
- 21 Nov, 2007 1 commit
-
-
Bertram Felgenhauer authored
See trac #1910.
-
- 24 Nov, 2007 1 commit
-
-
Ian Lynagh authored
configure will set INSTALL to ./install-sh if it can't find it in the path, so we need to replace the . with the path to our root.
-