- 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
- 05 Jan, 2007 3 commits
-
-
mnislaih authored
-
mnislaih authored
-
mnislaih authored
A module loaded under debugging mode but owning no breakpoints was erroneously identified by ghci as a non-under debugging module, producing a confusing error msg when the user tried to set a breakpoint The fix inserts an empty list of sites in the module-sites dictionary used by the debugger
-