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 |
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
IoPOSIX | Use a POSIX I/O Sub-System |
IoNative | 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
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