ANN: unix-bytestring 0.3.4

wren ng thornton wren at freegeek.org
Sun Mar 27 06:27:43 CEST 2011


--------------------------------------------
-- unix-bytestring 0.3.4
--------------------------------------------

The unix-bytestring package offers a full selection of 
Unix/Posix-specific functions for reading and writing ByteStrings to Fds.

--------------------------------------------
-- Changes (since 0.3.2)
--------------------------------------------

* For all the low-level functions (fd*Buf) there are now safer versions 
(tryFd*Buf) which return errors via Either Errno, instead of throwing 
IOError exceptions. These will be of particular interest to the 
maintainers of iteratee, iteratee-mtl, and liboleg.

* All the low-level functions (and the appropriate higher-level 
analogues) now check that the ByteCount or Int arguments are positive. 
If they're negative or zero then they return immediately (saying that 
zero bytes were read/written, returning an empty ByteString, etc). Note 
that this behavior is different than the functions in @unix@ which only 
check if they're equal to zero, or don't check at all.

--------------------------------------------
-- Future work
--------------------------------------------

* The readv(2) and writev(2) functions have a number of corner cases 
that throw errors (e.g., if you have too many iovecs where "too many" 
could mean >16) but these can be detected beforehand, or worked around 
by making multiple calls. Unfortunately, finding out what the limit is 
(or whether the linked version of libc does its own workarounds) is 
pretty tricky and platform-dependent. So I'll work on figure that out 
and making some safer wrappers.

--------------------------------------------
-- Links
--------------------------------------------

Homepage:
     http://code.haskell.org/~wren/

Hackage:
     http://hackage.haskell.org/package/unix-bytestring

Darcs:
     http://community.haskell.org/~wren/unix-bytestring

Haddock (Darcs version):

http://community.haskell.org/~wren/unix-bytestring/dist/doc/html/unix-bytestring/

-- 
Live well,
~wren



More information about the Libraries mailing list