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-----