Returned by the apply builder.
Builds an MVar value for F
data types that are Concurrent.
Builds an MVar value for F
data types that are Concurrent.
Due to Concurrent
's capabilities, the yielded values by MVar.take
and MVar.put are cancelable.
This builder uses the Partially-Applied Type technique.
For creating an empty MVar
:
MVar[IO].empty[Int] <-> MVar.empty[IO, Int]
For creating an MVar
with an initial value:
MVar[IO].init("hello") <-> MVar.init[IO, String]("hello")
Creates a cancelable MVar
that starts as empty.
Creates a cancelable MVar
that starts as empty.
is a Concurrent constraint, needed in order to describe cancelable operations
uncancelableEmpty for non-cancelable MVars
Creates a cancelable MVar
that's initialized to an initial
value.
Creates a cancelable MVar
that's initialized to an initial
value.
is a value that will be immediately available
for the first read
or take
operation
is a Concurrent constraint, needed in order to describe cancelable operations
uncancelableOf for non-cancelable MVars
Creates a non-cancelable MVar
that starts as empty.
Creates a non-cancelable MVar
that starts as empty.
The resulting MVar
has non-cancelable operations.
empty for creating cancelable MVars
Creates a non-cancelable MVar
that's initialized to an initial
value.
Creates a non-cancelable MVar
that's initialized to an initial
value.
The resulting MVar
has non-cancelable operations.
of for creating cancelable MVars
Builders for MVar.