Hoogle Search
Within LTS Haskell 24.34 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
-
X11 Graphics.X11.Types No documentation available.
forceScreenSaver :: Display -> ScreenSaverMode -> IO ()X11 Graphics.X11.Xlib.Misc interface to the X11 library function XForceScreenSaver().
forLines_ :: (Bytes -> IO a) -> IO ()byteslice Data.Bytes.Text.AsciiExt hForLines_ over stdin
formatStrideForWidth :: Format -> Int -> Intcairo Graphics.Rendering.Cairo This function provides a stride value that will respect all alignment requirements of the accelerated image-rendering code within cairo.
-
ghc-internal GHC.Internal.Base No documentation available.
-
ghc-internal GHC.Internal.Base No documentation available.
forkOS :: IO () -> IO ThreadIdghc-internal GHC.Internal.Conc.Bound Like forkIO, this sparks off a new thread to run the IO computation passed as the first argument, and returns the ThreadId of the newly created thread. However, forkOS creates a bound thread, which is necessary if you need to call foreign (non-Haskell) libraries that make use of thread-local state, such as OpenGL (see Control.Concurrent#boundthreads). Using forkOS instead of forkIO makes no difference at all to the scheduling behaviour of the Haskell runtime system. It is a common misconception that you need to use forkOS instead of forkIO to avoid blocking all the Haskell threads when making a foreign call; this isn't the case. To allow foreign calls to be made without blocking all the Haskell threads (with GHC), it is only necessary to use the -threaded option when linking your program, and to make sure the foreign import is not marked unsafe.
forkOSWithUnmask :: ((forall a . () => IO a -> IO a) -> IO ()) -> IO ThreadIdghc-internal GHC.Internal.Conc.Bound Like forkIOWithUnmask, but the child thread is a bound thread, as with forkOS.
forkIO :: IO () -> IO ThreadIdghc-internal GHC.Internal.Conc.Sync Creates a new thread to run the IO computation passed as the first argument, and returns the ThreadId of the newly created thread. The new thread will be a lightweight, unbound thread. Foreign calls made by this thread are not guaranteed to be made by any particular OS thread; if you need foreign calls to be made by a particular OS thread, then use forkOS instead. The new thread inherits the masked state of the parent (see mask). The newly created thread has an exception handler that discards the exceptions BlockedIndefinitelyOnMVar, BlockedIndefinitelyOnSTM, and ThreadKilled, and passes all other exceptions to the uncaught exception handler. WARNING: Exceptions in the new thread will not be rethrown in the thread that created it. This means that you might be completely unaware of the problem if/when this happens. You may want to use the async library instead.
forkIOWithUnmask :: ((forall a . () => IO a -> IO a) -> IO ()) -> IO ThreadIdghc-internal GHC.Internal.Conc.Sync Like forkIO, but the child thread is passed a function that can be used to unmask asynchronous exceptions. This function is typically used in the following way
... mask_ $ forkIOWithUnmask $ \unmask -> catch (unmask ...) handler
so that the exception handler in the child thread is established with asynchronous exceptions masked, meanwhile the main body of the child thread is executed in the unmasked state. Note that the unmask function passed to the child thread should only be used in that thread; the behaviour is undefined if it is invoked in a different thread.