base-4.20.0.0: Core data structures and operations
Copyright(c) The University of Glasgow 2011
Licensesee libraries/base/LICENSE
Maintainerghc-devs@haskell.org
Stabilityinternal
Portabilitynon-portable (GHC Extensions)
Safe HaskellSafe
LanguageHaskell2010

GHC.InfoProv

Contents

Description

Access to GHC's info-table provenance metadata.

The API of this module is unstable and not meant to be consumed by the general public. If you absolutely must depend on it, make sure to use a tight upper bound, e.g., base < 4.X rather than base < 5, because the interface can change rapidly without much warning.

Since: base-4.18.0.0

Synopsis

Documentation

data InfoProv Source #

Constructors

InfoProv 

Instances

Instances details
Show InfoProv 
Instance details

Defined in GHC.Internal.InfoProv.Types

Eq InfoProv 
Instance details

Defined in GHC.Internal.InfoProv.Types

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

Get information about where a value originated from. This information is stored statically in a binary when -finfo-table-map 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.

@since base-4.16.0.0

Internals