[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