- 02 Mar, 2007 1 commit
-
-
Simon Marlow authored
This lets the threaded RTS use SIGVTALRM rather than SIGALRM for its interval timer signal, so the threaded and non-threaded RTS are compatible. It unfortunately doesn't completely fix #850/#1156, for that we really have to use a restartable sleep instead of usleep(). Also I cleaned up the timer API a little: instead of returning an error value that ultimately gets ignored, we now report errors from system calls and exit.
-
- 01 Mar, 2007 7 commits
-
-
Simon Marlow authored
-
Ian Lynagh authored
-
simonpj@microsoft.com authored
-
Simon Marlow authored
We had a pattern that matched (base+(index<<N)), but not (base+(index<<N)+M).
-
Simon Marlow authored
We weren't catching some literals that actually fit in 32 bits before, because e.g. -1 was sometimes represented as 0xffffffffffffffff in CmmInt.
-
Simon Marlow authored
-
Simon Marlow authored
-
- 28 Feb, 2007 5 commits
-
-
Simon Marlow authored
This patch was originally by dinko.tenev@gmail.com, but I re-recorded it in order to add a better log message. The effect of this patch is to add entries for primitive types in the documentation: Int#, Char#, etc. and to document the built-in identifiers (seq, lazy, inline, unsafeCoerce#).
-
Simon Marlow authored
There were two bugs: * we were generating the symbol name for the CAF cost centre from the OccName, which isn't unique enough in the case of system-generated non-external names * :Main.main caused problems, because we were assuming that every top-level CAF was from the current module.
-
Simon Marlow authored
This is necessary because GHC's recompilation checker doesn't check across package boundaries.
-
Simon Marlow authored
We recently discovered that they aren't a win any more, and just cost code size.
-
Simon Marlow authored
-
- 27 Feb, 2007 4 commits
-
-
simonpj@microsoft.com authored
A RULE is supposed to match even if there is an intervening let: RULE f (x:xs) = .... target f (let x = thing in x:xs) It's surprisingly tricky to get this right; in effect we are doing let-floating on the fly. I managed to get it wrong before, or at least be over-conservative. And in "fixing" that I got it wrong again in a different way, which made it far too conservative. In particular, it failed to match f (let x = y+y in let z=x+y in z:xs) because the binder x was cloned and looked "locally-bound". See the ever growing comments with the Let rule for details. That patch reverts to the previous story, which is still a bit too conservative, but not so egregiously so. Fixes Romans's problem.
-
Ian Lynagh authored
From heatsink, in trac #1150.
-
Simon Marlow authored
This is a simplification & minor optimisation for GHCi
-
Simon Marlow authored
-
- 20 Feb, 2007 1 commit
-
-
bjpop@csse.unimelb.edu.au authored
This patch adds data constructor names into their info tables. This is useful in the ghci debugger. It replaces the old scheme which was based on tracking data con names in the linker.
-
- 27 Feb, 2007 1 commit
-
-
Ian Lynagh authored
-
- 24 Feb, 2007 2 commits
-
-
sven.panne@aedion.de authored
Previously one had to edit configure.ac to build a release version. This is evil, so one can now specify this on the configure invocation line like: RELEASE=YES ./configure Note that non-released versions are still the default.
-
chak@cse.unsw.edu.au. authored
-
- 23 Feb, 2007 4 commits
-
-
simonpj@microsoft.com authored
-
Ian Lynagh authored
-
mnislaih authored
-
chak@cse.unsw.edu.au. authored
-
- 22 Feb, 2007 4 commits
-
-
mnislaih authored
My previous patch was creating problems with hs-boot files.
-
Ian Lynagh authored
-
Simon Marlow authored
-
Simon Marlow authored
-
- 11 Jan, 2007 1 commit
-
-
Simon Marlow authored
-
- 21 Feb, 2007 3 commits
-
-
mnislaih authored
This patch performs several optimizations with the goal of minimizing the cost of building the arguments to breakpointJump: - Group them all in a single tuple, to minimize closure creation in heap - Wrap this with the GHC.Base.lazy combinator, to induce max laziness - Remove as many literal strings as possible * injecting a module-local CAF to store the module name and use that * eliminating the package string (not needed).
-
mnislaih authored
It now outputs "<function>" instead of showing them as thunks
-
mnislaih authored
-
- 19 Feb, 2007 1 commit
-
-
mnislaih authored
The breakpointJump functions never show up in the code that the typechecker sees, as they are inserted by the desugarer later.
-
- 21 Feb, 2007 6 commits
-
-
simonpj@microsoft.com authored
Fixes Trac #1154. Please merge. Tests are tc225, and tcfail176.
-
simonpj@microsoft.com authored
-
simonpj@microsoft.com authored
Conal Eliott (Trac #1145) exposed a nasty flaw in the way in which orphan instances are computed, when there are functional dependencies in the class. It took me some time to figure out what was going on, and led to more refactoring. Briefly: * Elaborate comments about orphan-hood and versioning added to IfaceSyn * The is_orph field vanishes from InstEnv.Instance * Similarly ru_orph vanishes from CoreSyn.CoreRule * Orphan-hood is computed in MkIface.instanceToIfaceInst, and MkIface.coreRuleToIfaceRule Elsewhere just tidying up.
-
simonpj@microsoft.com authored
I forgot to to this when refactoring some months ago!
-
simonpj@microsoft.com authored
This one is a hangover from something I did a month or two ago, but didn't get quite right. tcSimplifyDefault should not check for no-instances; instead the checkValidInstance in TcDeriv does so. Conal's DeepArrow needs this fix. Test is drv015.
-
simonpj@microsoft.com authored
This patch fixes the typechecking of the default declaration itself, when overloaded strings are involved. It also documents the behaviour in the user manual. nofib/spectral/power should work again now!
-