base-4.22.0.0: src/GHC/IO.hs
{-# OPTIONS_HADDOCK not-home #-}
-- |
-- Module : GHC.IO
-- Copyright : (c) The University of Glasgow 1994-2023
-- License : see libraries/base/LICENSE
--
-- Maintainer : ghc-devs@haskell.org
-- Stability : internal
-- Portability : non-portable (GHC Extensions)
--
-- Definitions for the 'IO' monad and its friends.
--
-- /The API of this module is unstable and not meant to be consumed by the general public./
-- If you absolutely must depend on it, make sure to use a tight upper
-- bound, e.g., @base < 4.X@ rather than @base < 5@, because the interface can
-- change rapidly without much warning.
--
module GHC.IO (
IO(..), unIO, liftIO, mplusIO,
unsafePerformIO, unsafeInterleaveIO,
unsafeDupablePerformIO, unsafeDupableInterleaveIO,
noDuplicate,
-- To and from ST
stToIO, ioToST, unsafeIOToST, unsafeSTToIO,
FilePath,
catch, catchException, catchAny, throwIO,
mask, mask_, uninterruptibleMask, uninterruptibleMask_,
MaskingState(..), getMaskingState,
unsafeUnmask, interruptible,
onException, bracket, finally, evaluate,
mkUserError
) where
import GHC.Internal.IO