This package is deprecated. If you have an effects stack that requires MonadBaseControl
instances, use the carrier types from transformers
, which have these instances, rather than pulling in these orphan instances.
This package enables interop between the fused-effects
effect system and the monad-control
library. monad-control
and its MonadBaseControl
typeclass. This provides the ability to use fused-effects
with libraries that use monad-control
internally, such as streamly
.
Please be aware that injudicious use of the primitives provided by MonadBaseControl
can lead to silent loss of a computation's effects. Unless external APIs tie you to the monad-control
ecosystem, we highly recommend the use of the Resource
effect for resource management, or the larger API provided by the unliftio
package. For more information on the potential pitfalls associated with MonadBaseControl
, consult "monad-control
is tricky", "A Tale of Two Brackets", or @gelisam's Twitter thread.