Version 0.0 of NHC13, Nearly a Haskell 1.3 Compiler, by Niklas Rojemo,
is now available for download from
ftp://ftp.cs.chalmers.se/pub/haskell/nhc13
It has the following features
- Compiles Haskell 1.3
- Supports Fudgets
- Supports several kind of heap profiles:
producer
constructor
retainer
life-time
biographical
combinations of the above
Although NHC13 0.0 is probably not yet to be regarded as a mature
Haskell 1.3 compiler, it may still be of interest since it provides
some new kinds of heap profiles not found in any other Haskell 1.3
compiler. Finding space leaks or other undesired space behaviour using
(combinations of) retainer and biographical profiles can be much
simpler than with the traditional producer/constructor profiles.
Heap profiling also works for Fudgets programs.
The commands to use are
nhc13 the compiler
nhc13make a version of hbcmake for nhc13
nhc13xmake to compile Fudgets programs
hp2graph to convert heap profiling output to postscript
Manual pages with more details are included in the distributions.
Recent papers on heap profiling are
Niklas Rojemo and Colin Runciman: "Lag, drag, void and use -
heap profiling and space-efficient compilation revisited".
In the proceedings of ICFP'96.
Colin Runciman and Niklas Rojemo: "Two-pass heap profiling: a matter
of life and death". In the proceedings of IFL'96.
These are available from
ftp://ftp.cs.chalmers.se/pub/users/rojemo/icfp96.ps.gz
ftp://ftp.cs.chalmers.se/pub/users/rojemo/ifl96.ps.gz
Niklas Rojemo
Thomas Hallgren