- 11 Jan, 2007 1 commit
-
-
simonpj@microsoft.com authored
-
- 10 Jan, 2007 2 commits
-
-
simonpj@microsoft.com authored
-
simonpj@microsoft.com authored
We should sort rules and instances lexicographically, not by Unique, in interface files, else we get unnecessary "rules changed" and hence unnecessary recompilation. This bug has been there since the interface-file upheaval that put Names into IfaceSyn.
-
- 11 Jan, 2007 17 commits
-
-
mnislaih authored
Usually ghci announces when a module has been loaded interpreted. Now it will also announce it when the module has been instrumented for debugging
-
mnislaih authored
-
mnislaih authored
-
simonpj@microsoft.com authored
-
simonpj@microsoft.com authored
Consider this FC program: data family AT a :: * data instance AT Int = T1 Int Int f :: AT Int -> Int f t = case t of DEFAULT -> <body> We'd like to replace the DEFAULT by a use of T1, so that if we scrutinise t inside <body> we share the evaluation: f t = case (t `cast` co) of T1 x y -> <body> I decided to do this as part of the liberate-case transformation, which is already trying to avoid redundant evals. The new transformation requires knowledge of the family instance environment, so I had to extend ModGuts to carry the fam_inst_env, and put that envt into the liberate-case environment. Otherwise it's all pretty straightforward.
-
simonpj@microsoft.com authored
-
simonpj@microsoft.com authored
-
simonpj@microsoft.com authored
-
simonpj@microsoft.com authored
pprTypeApp :: SDoc -> [Type] -> SDoc pprTypeApp pp tys = hang pp 2 (sep (map pprParendType tys))
-
simonpj@microsoft.com authored
(Alas, Darcs failed to record my log-message for the above patch, so this patch is an attempt to add the log message retrospectively.) Roman found a case where the type-checker for interface files would go into a loop. Here it is: module BarAT where class Foo a where data FooT a :: * int :: FooT a -> Int module Baz where import BarAT foo :: FooT Int -> Int foo = foo The trouble turned out to be that Foo gives rise to a *newtype*, and using a newtpe caused a little bit too much strictness in BuildTyCl.mkNewTyConRhs. Specifically, mkNewTypeCoercion did pattern matching, which forced the call to eta_reduce in mkNewTyConRhs. This is all too delicate really. But for now I've fixed the bug, and added an explanatory comment. I'll add a test for it, in indexed-types/should_compile/ATLoop
-
simonpj@microsoft.com authored
Log-message for: Improve command-line parser (add OptIntSuffix); make -fliberate-case-threshold dynamic (Alas, Darcs failed to record my log-message for the above patch, so this patch is an attempt to add the log message retrospectively.) Parsing options numeric arguments, such as -fliberate-case-threshold=30 for dynamic flags wasn't being handled well. I elaborated the command-line parser to have a new constructor, OptIntSuffix, for this case, and did the consequential changes. This patch also makes the -fliberate-case-threshold flag into a dynamic flag.
-
simonpj@microsoft.com authored
-
simonpj@microsoft.com authored
-
simonpj@microsoft.com authored
-
simonpj@microsoft.com authored
-
simonpj@microsoft.com authored
-
simonpj@microsoft.com authored
-
- 10 Jan, 2007 1 commit
-
-
andy@galois.com authored
- Now we use two pipes and a fork rather than use named pipes - We use the HPCRIX env var to send the pipe numbers in %d:%d format - We now always breakpoint for special events - We check to see we are the original process before each breakpoint event sub processes are not debugged; this lets us debug the debugger.
-
- 09 Jan, 2007 2 commits
-
-
andy@galois.com authored
-
andy@galois.com authored
-
- 10 Jan, 2007 4 commits
-
-
chak@cse.unsw.edu.au. authored
-
Simon Marlow authored
-
simonpj@microsoft.com authored
The float-in pass wasn't doing the right thing when you have let x{rule mentions y} = rhs in body It allowed a binding mentioning y to float into the body, which is obviously wrong. I think this bug has been there a long time; I don't really know why it has not come up before. It showed up when compiling Text.Regex.Base.Context with WAY=p in package regex-base.
-
simonpj@microsoft.com authored
-
- 09 Jan, 2007 5 commits
-
-
chak@cse.unsw.edu.au. authored
-
simonpj@microsoft.com authored
-
simonpj@microsoft.com authored
Build an implication constraint if there is a non-trivial refinement, even if there are no other 'given' constraints. Test = gadt/set.hs
-
Simon Marlow authored
-
mnislaih authored
-
- 08 Jan, 2007 4 commits
-
-
Ian Lynagh authored
Fixes trac #929. Merge to 6.6 branch.
-
Simon Marlow authored
I broke it during my recent interface-file overhaul
-
Ian Lynagh authored
-
Ian Lynagh authored
-
- 07 Jan, 2007 2 commits
- 06 Jan, 2007 2 commits