| 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
| 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