When I use the heap profiling option -hd
, I will get a very useful list of which constructors use how much memory, but I will also get a bunch of other closures (assumedly from thunks) with very unhelpful names, usually of the form Module.Name.sat_randmLetters
. For example:
<Data.Map.Internal.sat_sKHW>
<Data.IntMap.Internal.sat_sGFV>
How do I figure out what they correspond to and/or where they come from? I can’t find those strings in the -ddump-simpl
output of the module, so I don’t know at which stage of compilation they are generated?
Here’s an example output from hp2ps
with a bunch of thunks like this: