-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | A compatibility layer for GHC's 'wherefrom' function
--   
--   A compatibility layer for GHC's <a>wherefrom</a> function, which
--   exposes info provenance information. Each major version of this
--   library exports a different version of this interface.
@package wherefrom-compat
@version 0.1.1.1


-- | This module provides a stable interface to access GHC's info
--   provenance information. This is helpful for seeing metadata about heap
--   objects.
module GHC.InfoProv.Compat
data InfoProv
InfoProv :: String -> String -> String -> String -> String -> String -> String -> InfoProv
[ipName] :: InfoProv -> String
[ipDesc] :: InfoProv -> String
[ipTyDesc] :: InfoProv -> String
[ipLabel] :: InfoProv -> String
[ipMod] :: InfoProv -> String
[ipSrcFile] :: InfoProv -> String
[ipSrcSpan] :: InfoProv -> String

-- | Get information about where a value originated from.
--   
--   This information is stored statically in a binary when
--   <tt>super-duper</tt> is enabled. The source positions will be greatly
--   improved by also enabled debug information with <tt>-g3</tt>. Finally
--   you can enable <tt>-fdistinct-constructor-tables</tt> 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
--   <tt>-finfo-table-map</tt>) to find out where we think the best source
--   position to describe that info table arose from.
whereFrom :: a -> IO (Maybe InfoProv)
instance GHC.Classes.Eq GHC.InfoProv.Compat.InfoProv
instance GHC.Internal.Show.Show GHC.InfoProv.Compat.InfoProv
