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.
-
primitive-unlifted Data.Primitive.Unlifted.MVar.Primops No documentation available.
tryReadUnliftedMVar :: PrimUnlifted a => UnliftedMVar s a -> ST s (Maybe a)primitive-unlifted Data.Primitive.Unlifted.MVar.ST No documentation available.
class Monad m =>
MonadReader r (m :: Type -> Type) | m -> rprotolude Protolude See examples in Control.Monad.Reader. Note, the partially applied function type (->) r is a simple reader monad. See the instance declaration below.
-
protolude Protolude A ThreadId is an abstract type representing a handle to a thread. ThreadId is an instance of Eq, Ord and Show, where the Ord instance implements an arbitrary total ordering over ThreadIds. The Show instance lets you convert an arbitrary-valued ThreadId to string form; showing a ThreadId value is occasionally useful when debugging or diagnosing the behaviour of a concurrent program. Note: in GHC, if you have a ThreadId, you essentially have a pointer to the thread itself. This means the thread itself can't be garbage collected until you drop the ThreadId. This misfeature would be difficult to correct while continuing to support threadStatus.
ThreadKilled :: AsyncExceptionprotolude Protolude This exception is raised by another thread calling killThread, or by the system if it needs to terminate the thread for some reason.
isCurrentThreadBound :: IO Boolprotolude Protolude Returns True if the calling thread is bound, that is, if it is safe to use foreign libraries that rely on thread-local state from the calling thread.
killThread :: ThreadId -> IO ()protolude Protolude killThread raises the ThreadKilled exception in the given thread (GHC only).
killThread tid = throwTo tid ThreadKilled
mkWeakThreadId :: ThreadId -> IO (Weak ThreadId)protolude Protolude Make a weak pointer to a ThreadId. It can be important to do this if you want to hold a reference to a ThreadId while still allowing the thread to receive the BlockedIndefinitely family of exceptions (e.g. BlockedIndefinitelyOnMVar). Holding a normal ThreadId reference will prevent the delivery of BlockedIndefinitely exceptions because the reference could be used as the target of throwTo at any time, which would unblock the thread. Holding a Weak ThreadId, on the other hand, will not prevent the thread from receiving BlockedIndefinitely exceptions. It is still possible to throw an exception to a Weak ThreadId, but the caller must use deRefWeak first to determine whether the thread still exists.
-
protolude Protolude Returns the ThreadId of the calling thread (GHC only).
rtsSupportsBoundThreads :: Boolprotolude Protolude True if bound threads are supported. If rtsSupportsBoundThreads is False, isCurrentThreadBound will always return False and both forkOS and runInBoundThread will fail.