wherefrom-compat- A compatibility layer for GHC's 'wherefrom' function
Safe HaskellSafe-Inferred



This module provides a stable interface to access GHC's info provenance information. This is helpful for seeing metadata about heap objects.



data InfoProv Source #


Instances details
Show InfoProv Source # 
Instance details

Defined in GHC.InfoProv.Compat

Eq InfoProv Source # 
Instance details

Defined in GHC.InfoProv.Compat

whereFrom :: a -> IO (Maybe InfoProv) Source #

Get information about where a value originated from.

This information is stored statically in a binary when super-duper is enabled. The source positions will be greatly improved by also enabled debug information with -g3. Finally you can enable -fdistinct-constructor-tables to get more precise information about data constructor allocations.

The information is collect by looking at the info table address of a specific closure and then consulting a specially generated map (by -finfo-table-map) to find out where we think the best source position to describe that info table arose from.