Skip to content

Add comments to the definition of IODeviceType (module GHC.IO.Device)

-- | Type  of a device that can be used to back a 'GHC.IO.Handle.Handle' 
-- (see also 'GHC.IO.Handle.mkFileHandle'). The standard libraries provide creation of 'GHC.IO.Handle.Handle's via 
-- Posix file operations with file descriptors (see 'GHC.IO.Handle.FD.mkHandleFromFD') 
-- with FD being the underlying 'GHC.IO.Device.IODevice' instance. 

-- Users may provide custom instances of 'GHC.IO.Device.IODevice' which are expected to conform the following rules:

data IODeviceType
  = Directory --^ The standard libraries do not have direct support
              -- for this device type, but user implementation is 
              -- expected to provide a newline-separated list of 
              -- file names in a directory (without path to the 
              -- directory itself) in any suitable order,
              -- excluding "dot" and "dotdot" names. See 
              -- also 'System.Directory.getDirectoryContents'.
              -- Seek operation is not supported on directories 
              -- (other than to the zero position).
  | Stream    --^ A duplex communications channel (results in 
              -- creation of a duplex 'GHC.IO.Handle.Handle'). The 
              -- standard libraries use this device type when 
              -- creating 'GHC.IO.Handle.Handle's for open sockets.
  | RegularFile --^ A file that may be read or written, and also 
                -- may be seekable.
  | RawDevice --^ A "raw" (disk) device which supports block binary 
              -- read and write operations and may be seekable only 
              -- to positions of certain granularity (block-
              -- aligned).
  deriving (Eq)
Trac metadata
Trac field Value
Version 6.12.3
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component libraries/base
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information