Hoogle Search
Within LTS Haskell 24.50 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
naturalLogBaseWord# :: Word# -> Natural -> Word#base GHC.Num No documentation available.
naturalLt :: Natural -> Natural -> Boolbase GHC.Num No documentation available.
naturalLt# :: Natural -> Natural -> Bool#base GHC.Num No documentation available.
CostCentresAll :: DoCostCentresbase GHC.RTS.Flags No documentation available.
block_alloc :: DebugFlags -> Boolbase GHC.RTS.Flags b
installSEHHandlers :: MiscFlags -> Boolbase GHC.RTS.Flags No documentation available.
installSignalHandlers :: MiscFlags -> Boolbase GHC.RTS.Flags No documentation available.
largeAllocLim :: GCFlags -> Word32base GHC.RTS.Flags No documentation available.
minAllocAreaSize :: GCFlags -> Word32base GHC.RTS.Flags No documentation available.
-
base GHC.Stack CallStacks are a lightweight method of obtaining a partial call-stack at any point in the program. A function can request its call-site with the HasCallStack constraint. For example, we can define
putStrLnWithCallStack :: HasCallStack => String -> IO ()
as a variant of putStrLn that will get its call-site and print it, along with the string given as argument. We can access the call-stack inside putStrLnWithCallStack with callStack.>>> :{ putStrLnWithCallStack :: HasCallStack => String -> IO () putStrLnWithCallStack msg = do putStrLn msg putStrLn (prettyCallStack callStack) :}Thus, if we call putStrLnWithCallStack we will get a formatted call-stack alongside our string.>>> putStrLnWithCallStack "hello" hello CallStack (from HasCallStack): putStrLnWithCallStack, called at <interactive>:... in interactive:Ghci...
GHC solves HasCallStack constraints in three steps:- If there is a CallStack in scope -- i.e. the enclosing function has a HasCallStack constraint -- GHC will append the new call-site to the existing CallStack.
- If there is no CallStack in scope -- e.g. in the GHCi session above -- and the enclosing definition does not have an explicit type signature, GHC will infer a HasCallStack constraint for the enclosing definition (subject to the monomorphism restriction).
- If there is no CallStack in scope and the enclosing definition has an explicit type signature, GHC will solve the HasCallStack constraint for the singleton CallStack containing just the current call-site.