- 05 Aug, 2007 2 commits
-
-
simonpj@microsoft.com authored
Consider lvl = Just True foo :: Maybe Bool -> Int -> Int foo (Just True) i = i foo _ i = foo lvl i SpecConstr should specialise foo, but it wasn't doing so (spotted by Roman). Reason: lvl's unfolding wasn't in the cloned version of lvl. Solution: extend the value environment to record top-level bindings too At the same time I made it work if 'lvl' is a lambda, in which case it is again worth specialisg. This meant renaming ConEnv to ValueEnv, and adding a case for 'LambdaVal'. (To make specialisation on lambdas work properly, we have to do lambda lifting as well, but this gets part of the way, and fixes a bug too.)
-
simonpj@microsoft.com authored
-
- 04 Aug, 2007 4 commits
-
-
simonpj@microsoft.com authored
-
simonpj@microsoft.com authored
It makes *sense* for a foreign import to have a zero-sized return, thus foreign import ccall foo :: Int -> State# RealWorld but it's not clear that it's useful, and it requires some back-end (a Hint for void types) to make it go right through. It's not clear that we really want this facility, so rather than fixing the code generator, I'm just making the construct illegal for now.
-
simonpj@microsoft.com authored
Trac #1581 was doing too much filtering; it even filtered out intances defined in this very module! The new rule shows more instances, but hopefully not to many. Furthermore I have moved the filtering out of TcRnDriver (where it does not belong) to InteractiveEval. And I've added a note to the documentation.
-
simonpj@microsoft.com authored
-
- 09 Aug, 2007 1 commit
-
-
Simon Marlow authored
-
- 08 Aug, 2007 2 commits
-
-
Ian Lynagh authored
-
Magnus Jonsson authored
-
- 07 Aug, 2007 1 commit
-
-
Ian Lynagh authored
-
- 06 Aug, 2007 1 commit
-
-
duncan.coutts@worc.ox.ac.uk authored
So we will inherit default values for any new flags that get added, so things should not break if new flags are added.
-
- 07 Aug, 2007 3 commits
-
-
Isaac Dupree authored
-
Isaac Dupree authored
Defaulting makes compilation of multiple modules more complicated (re: #1405) Although it was all locally within functions, not because of the module monomorphism-restriction... but it's better to be clear what's meant, anyway. I changed some that were defaulting to Integer, to explicit Int, where Int seemed appropriate rather than Integer.
-
Isaac Dupree authored
-
- 06 Aug, 2007 1 commit
-
-
Isaac Dupree authored
-
- 05 Aug, 2007 4 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
Print the list of strings that are accepted in a LANGUAGE pragma, or as a -XFoo flag. (No can be prepended to any of the strings).
-
Ian Lynagh authored
-
Ian Lynagh authored
-
- 04 Aug, 2007 12 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-fparr did exist before, it just wasn't documented.
-
Ian Lynagh authored
-
Ian Lynagh authored
Now we only allow -XFooBar syntax, not alternate case, hyphens or -f. There are some deprecated -f flags accordingly.
-
Ian Lynagh authored
-
Ian Lynagh authored
-
- 03 Aug, 2007 5 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
Adaptated from code from Sigbjorn Finne
-
Simon Marlow authored
-
Simon Marlow authored
Fixes read002 on x86_64 (and maybe others). The stg_ap_f_info info table had the wrong liveness on it, because the float had been treated as having zero size.
-
rl@cse.unsw.edu.au authored
-
- 02 Aug, 2007 4 commits
-
-
Ian Lynagh authored
-
simonpj@microsoft.com authored
-
simonpj@microsoft.com authored
A Name used to have a Parent, but no longer has. When we want to print info about data type T and data constructor MkT, the info about T already describes MkT so we want to discard the latter. Now that Names don't have a Parent, we must do that in a different way, using implicitTyThings Test is ghci011
-
simonpj@microsoft.com authored
-