- 24 May, 2007 2 commits
-
-
Ian Lynagh authored
-
Simon Marlow authored
Not done by default yet, but useful when hacking on libraries.
-
- 23 May, 2007 1 commit
-
-
Ian Lynagh authored
-
- 19 May, 2007 4 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
- 18 May, 2007 2 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
- 24 May, 2007 1 commit
-
-
mnislaih authored
-
- 23 May, 2007 4 commits
-
-
simonpj@microsoft.com authored
Roman produced programs involving associated types that did not optimise well. His programs were something like this: data family T a data instance T Int = MkT Bool Char bar :: T Int -> Int bar t = t `seq` loop 0 where loop = ... You'd think that the `seq` should unbox 't' outside the loop, since a (T Int) is just a MkT pair. The most robust way to make this happen is for the simplifier to understand a bit about type-family instances. See Note [Improving seq] in Simplify.lhs. We use FamInstEnv.topNormaliseType to do the interesting work. To make this happen I did a bit of refactoring to the simplifier monad. I'd previously done a very similar transformation in LiberateCase, but it was happening too late. So this patch takes it out of LiberateCase as well as adding it to Simplify.
-
simonpj@microsoft.com authored
Consder Trac #1265, which does this in GHCi: Prelude> let doit = fail "Code not written yet" :: ExpQ Prelude> $(doit) Even though 'doit' is defined "in the same module", it's OK to use it in a splice because it'll have been fully compiled to bytecode. (Contrast the situation if these two lines appeared in a single, compiled module.) Hence we want to bind 'doit' at TH's "imported level" (TcRnTypes.impLevel). This used to happen because GHCi-bound Ids were in the *global* type env (and hence at "imported level"). But since SimonM moved GHCi-bound ids to the *local* type env (for good reasons) the above program has been rejected. This patch makes it work again.
-
simonpj@microsoft.com authored
-
simonpj@microsoft.com authored
-
- 21 May, 2007 1 commit
-
-
simonpj@microsoft.com authored
-
- 11 May, 2007 1 commit
-
-
TomSchrijvers authored
-
- 14 May, 2007 1 commit
-
-
simonpj@microsoft.com authored
-
- 23 May, 2007 1 commit
-
-
mnislaih authored
-
- 11 May, 2007 1 commit
-
-
rl@cse.unsw.edu.au authored
-
- 10 May, 2007 1 commit
-
-
rl@cse.unsw.edu.au authored
-
- 22 May, 2007 1 commit
-
-
chak@cse.unsw.edu.au. authored
-
- 21 May, 2007 4 commits
-
-
Michael D. Adams authored
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
-
- 20 May, 2007 1 commit
-
-
mnislaih authored
-
- 21 May, 2007 1 commit
-
-
Simon Marlow authored
-
- 20 May, 2007 4 commits
-
-
Ian Lynagh authored
-
mnislaih authored
-
mnislaih authored
-
mnislaih authored
-
- 19 May, 2007 1 commit
-
-
Isaac Dupree authored
-
- 30 Apr, 2007 2 commits
-
-
Isaac Dupree authored
FastTypes - delete ugly _signatures, comment on Bool not FastBool where the typechecker will not catch it
-
Isaac Dupree authored
-
- 29 Apr, 2007 1 commit
-
-
Isaac Dupree authored
I tested FastTypes.lhs with hugs (manually using cpp) as well as ghc.
-
- 19 May, 2007 1 commit
-
-
mnislaih authored
Closure uses now a list of Words instead of a ByteArray# to store the non ptrs. Term.Prim follows this and keeps the [Word] value instead of storing the Show representation, which wasn't the best idea anyway. This fixes test print022
-
- 18 May, 2007 4 commits
-
-
Ian Lynagh authored
This also means we don't need to carry around 10s of megs of Setup executables in bindists.
-
Simon Marlow authored
Seemed like a reasonable thing to do, and only 1 line
-
Simon Marlow authored
Reset the exception flag before re-throwing the exception unless it was "Interrupted". This avoids needing the double :continue for ordinary exceptions, but still lets us break on ^C.
-
Simon Marlow authored
when setting a breakpoint by coordinate, if there are no spans covering the specified coordinate, then we take the leftmost of the spans to the right of the coordinate. This means that ':break c' will work if c is not a function, because the first span will be on c's right hand side.
-