
9 Nov
2005
9 Nov
'05
11:52 a.m.
Simon Marlow wrote:
I can explain why it happens, though. The compiler has lifted out the error case into a top-level binding:
x = error "Error in array index"
So cost-centre stacks are not produced for the original program written by the user, but for the intermediate program after optimisation. I understand that you want to profile the optimised version, but the fact that your profile does not quite match your program can be confusing. For debugging, however, I think that it is clear that you want your debugging information (cost centre stacks) to match your program, even if it costs you some performance. Ciao, Olaf