A labeled thread result is simply a wrapper for a
LMVar. A thread
can observe the result of another thread, only after raising its label
to the label of the result.
ThreadId is an abstract type representing a handle to a thread.
ThreadId is an instance of
Ord instance implements an arbitrary total ordering over
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
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
This misfeature will hopefully be corrected at a later date.
Note: Hugs does not provide any operations on other threads;
ThreadId as a synonym for ().