Copyright | (c) The University of Glasgow 2017 |
---|---|
License | see libraries/base/LICENSE |
Maintainer | libraries@haskell.org |
Stability | internal |
Portability | non-portable |
Safe Haskell | Trustworthy |
Language | Haskell2010 |
GHC.IO.SubSystem
Description
The SubSystem control interface. These methods can be used to disambiguate between the two operations.
Synopsis
- withIoSubSystem :: (IoSubSystem -> IO a) -> IO a
- withIoSubSystem' :: (IoSubSystem -> a) -> a
- whenIoSubSystem :: IoSubSystem -> IO () -> IO ()
- ioSubSystem :: IoSubSystem
- data IoSubSystem
- conditional :: a -> a -> a
- (<!>) :: a -> a -> a
- isWindowsNativeIO :: Bool
Documentation
withIoSubSystem :: (IoSubSystem -> IO a) -> IO a Source #
withIoSubSystem' :: (IoSubSystem -> a) -> a Source #
whenIoSubSystem :: IoSubSystem -> IO () -> IO () Source #
data IoSubSystem Source #
The I/O SubSystem to use in the program.
Since: base-4.9.0.0
Constructors
Use a POSIX I/O Sub-System
Use platform native Sub-System. For unix OSes this is the same as IoPOSIX, but on Windows this means use the Windows native APIs for I/O, including IOCP and RIO.
Instances
Instances details
Instance details
Defined in GHC.RTS.Flags
Methods
sizeOf :: IoSubSystem -> Int Source #
alignment :: IoSubSystem -> Int Source #
peekElemOff :: Ptr IoSubSystem -> Int -> IO IoSubSystem Source #
pokeElemOff :: Ptr IoSubSystem -> Int -> IoSubSystem -> IO () Source #
peekByteOff :: Ptr b -> Int -> IO IoSubSystem Source #
pokeByteOff :: Ptr b -> Int -> IoSubSystem -> IO () Source #
peek :: Ptr IoSubSystem -> IO IoSubSystem Source #
poke :: Ptr IoSubSystem -> IoSubSystem -> IO () Source #
Instance details
Defined in GHC.RTS.Flags
Methods
succ :: IoSubSystem -> IoSubSystem Source #
pred :: IoSubSystem -> IoSubSystem Source #
toEnum :: Int -> IoSubSystem Source #
fromEnum :: IoSubSystem -> Int Source #
enumFrom :: IoSubSystem -> [IoSubSystem] Source #
enumFromThen :: IoSubSystem -> IoSubSystem -> [IoSubSystem] Source #
enumFromTo :: IoSubSystem -> IoSubSystem -> [IoSubSystem] Source #
enumFromThenTo :: IoSubSystem -> IoSubSystem -> IoSubSystem -> [IoSubSystem] Source #
Instance details
Defined in GHC.RTS.Flags
Instance details
Defined in GHC.RTS.Flags
Methods
(==) :: IoSubSystem -> IoSubSystem -> Bool Source #
(/=) :: IoSubSystem -> IoSubSystem -> Bool Source #
conditional :: a -> a -> a Source #
Conditionally execute an action depending on the configured I/O subsystem. On POSIX systems always execute the first action. On windows execute the second action if WINIO as active, otherwise fall back to the first action.
(<!>) :: a -> a -> a infixl 7 Source #
Infix version of conditional
.
posix ! windows == conditional posix windows