Returns a Do
of B
based on a Do
of A
and a function that creates a Do
of B
,
when B
will not reference to A
,
or A
is a garbage collected object without additional release action.
Returns a Do
of B
based on a Do
of A
and a function that creates a Do
of B
,
when B
will not reference to A
,
or A
is a garbage collected object without additional release action.
intransitiveFlatMap
is similar to flatMap
in asynchronousDoMonadErrorInstances.
Whereas intransitiveFlatMap
will release A
right after B
is created,
if there is a release action associated with A
,
flatMap
will release A
right after B
is released.
Don't use this method if you need to retain A
until B
is released.
Returns a Do
of B
based on a Do
of A
and a function that creates B
,
when B
will not reference to A
,
or A
is a garbage collected object without additional release action.
Returns a Do
of B
based on a Do
of A
and a function that creates B
,
when B
will not reference to A
,
or A
is a garbage collected object without additional release action.
intransitiveMap
is similar to map
in asynchronousDoMonadErrorInstances.
Whereas intransitiveMap
will release A
right after B
is created
if there is a release action associated with A
,
map
will release A
right after B
is released.
Don't use this method if you need to retain A
until B
is released.
Returns a Future
of A
, which will open A
and release all resources during opening A
.
Returns a Future
of A
, which will open A
and release all resources during opening A
.
A
itself must be garbageCollected(i.e. does not have clean up operation),
though A
may use some non-garbage-collected resources during opening A
.
Converts asynchronousDo
to a reference counted wrapper.