[GHC] #3218: Proposal: System.Posix.fdReadBuf/fdWriteBuf

GHC trac at galois.com
Mon May 11 11:25:59 EDT 2009


#3218: Proposal: System.Posix.fdReadBuf/fdWriteBuf
-------------------------------+--------------------------------------------
  Reporter:  simonmar          |          Owner:                  
      Type:  proposal          |         Status:  new             
  Priority:  normal            |      Milestone:  Not GHC         
 Component:  libraries/unix    |        Version:  6.10.2          
  Severity:  normal            |       Keywords:                  
Difficulty:  Unknown           |       Testcase:                  
        Os:  Unknown/Multiple  |   Architecture:  Unknown/Multiple
-------------------------------+--------------------------------------------
 Functions for reading/writing actual arrays of bytes in memory.  At the
 moment, `System.Posix` only provides

 {{{
 fdRead :: Fd
        -> ByteCount -- ^How many bytes to read
        -> IO (String, ByteCount) -- ^The bytes read, how many bytes were
 read.

 fdWrite :: Fd -> String -> IO ByteCount
 }}}

 which are not only wrong (`String`?), but too slow for many purposes.

 I propose

 {{{
 Mon May 11 16:21:02 BST 2009  Simon Marlow <marlowsd at gmail.com>
   * add fdReadBuf, fdWriteBuf

   -- | Read data from an 'Fd' into memory.  This is exactly equivalent
   -- to the POSIX @read@ function.
   fdReadBuf :: Fd
             -> Ptr Word8    -- ^ Memory in which to put the data
             -> ByteCount    -- ^ Maximum number of bytes to read
             -> IO Bytecount -- ^ Number of bytes read (zero for EOF)

   -- | Write data from memory to an 'Fd'.  This is exactly equivalent
   -- to the POSIX @write@ function.
   fdWriteBuf :: Fd
              -> Ptr Word8    -- ^ Memory containing the data to write
              -> ByteCount    -- ^ Maximum number of bytes to write
              -> IO ByteCount -- ^ Number of bytes written
 }}}

 darcs patches are attached.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/3218>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the Glasgow-haskell-bugs mailing list