True, but I was of the opinion that -O0, -fno-state-hack and -fno-full-laziness would preserve the calling structure with minimal perturbance. Wouldn't it? Besides, I am hardly aware of any utility that generates source level call graph/expression dependence graph; suppose one can generate a module dependency graph, but guess its little too coarse! -ganesh On 10/4/07, Stefan O'Rear <stefanor@cox.net> wrote:
On Thu, Oct 04, 2007 at 05:32:31AM +0530, Ganesh Narayan wrote:
[1] Am presently constructing the call graphs from disassembled application binaries; resultant graph includes ghc runtime library calls.
Not necessary a good idea - Haskell's purity gives the compilers great license to reorder and rearrange code, and the laziness causes the dynamic call graph to differ wildly from the static call graph even without without optimizations. GHC's use of a private stack with very weird return conventions probably isn't helping either!
Stefan
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFHBDCVFBz7OZ2P+dIRAnogAJ9m8Vv/NjUg50bJYdAGl2lzJQZMIwCgsXdq mwdCgw1AO7KMBVkKTXjymAM= =+aCh -----END PGP SIGNATURE-----