module Control.Monad.Scoped
(
Internal.Scoped
, Internal.ScopedResource
, Internal.scoped
, Internal.registerHandler
, ScopedAsync.ScopedAsync
, ScopedAsync.async
, ScopedAsync.asyncBound
, ScopedAsync.wait
, ScopedAsync.waitCatch
, ScopedAsync.waitScoped
, ScopedAsync.waitCatchScoped
, ScopedHandle.ScopedHandle
, ScopedHandle.file
, IO.IOMode (..)
, ScopedHandle.hPutStrLn
, ScopedHandle.hPutStr
, ScopedHandle.hGetLine
, ScopedHandle.hGetContents
, ScopedTemp.tempFile
, ScopedTemp.systemTempFile
)
where
import Control.Monad.Scoped.Async qualified as ScopedAsync
import Control.Monad.Scoped.Handle qualified as ScopedHandle
import Control.Monad.Scoped.Internal qualified as Internal
import Control.Monad.Scoped.Temp qualified as ScopedTemp
import System.IO qualified as IO