Hoogle Search
Within LTS Haskell 24.52 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
NestedAtomically :: NestedAtomicallyghc-internal GHC.Internal.Control.Exception.Base No documentation available.
finally :: IO a -> IO b -> IO aghc-internal GHC.Internal.Control.Exception.Base A specialised variant of bracket with just a computation to run afterward.
nestedAtomically :: SomeExceptionghc-internal GHC.Internal.Control.Exception.Base No documentation available.
-
ghc-internal GHC.Internal.Data.Monoid No documentation available.
-
ghc-internal GHC.Internal.Data.Semigroup.Internal No documentation available.
type
IOCallback = FdKey -> Event -> IO ()ghc-internal GHC.Internal.Event Callback invoked on I/O events.
-
ghc-internal GHC.Internal.Event Warning: since the TimeoutCallback is called from the I/O manager, it must not throw an exception or block for a long period of time. In particular, be wary of throwTo and killThread: if the target thread is making a foreign call, these functions will block until the call completes.
-
ghc-internal GHC.Internal.Event.TimeOut Warning: since the TimeoutCallback is called from the I/O manager, it must not throw an exception or block for a long period of time. In particular, be wary of throwTo and killThread: if the target thread is making a foreign call, these functions will block until the call completes.
-
ghc-internal GHC.Internal.Exception 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.
-
ghc-internal GHC.Internal.Exception This is thrown when the user calls error. The first String is the argument given to error, second String is the location.