Proposal: add System.Posix.fdReadBuf/fdWriteBuf
Don Stewart
dons at galois.com
Tue May 12 13:06:54 EDT 2009
marlowsd:
> http://hackage.haskell.org/trac/ghc/ticket/3218
>
> From the ticket:
>
> 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 to the ticket.
>
> Discussion: 2 weeks (ends 25 May)
Rocking. Go for it.
More information about the Libraries
mailing list