[Haskell-cafe] ANN: unix-bytestring: Unix/Posix-specific functions for ByteStrings.

wren ng thornton wren at freegeek.org
Sun Mar 20 20:58:43 CET 2011


--------------------------------------------
-- unix-bytestring 0.3.2
--------------------------------------------

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

--------------------------------------------
-- The Story Behind It All
--------------------------------------------

A while back I needed a ByteString-based version of the System.Posix.IO 
String-based API. I coded up the new versions and submitted a patch to 
the unix package for adding them in[1]. But apparently, noone's much 
pleased with the System.Posix.IO API! In the ensuing discussion folks 
brought up their specific complaints and offered suggestions. So now, 
the couple of functions have become enough to release as its own 
package--- with the hope that one day it'll be rolled into the unix package.

That's where you come in. The current API is more than good enough for 
anything I've needed, so I need your feedback on what you want from a 
ByteString-based Unix/Posix I/O library.

I've looked through Roel van Dijk's reverse dependency analysis[2] to 
find the folks currently using the unix package. The maintainers of the 
following packages may be particularly interested in unix-bytestring:

* HFuse
* iteratee
* iteratee-mtl
* liboleg

HFuse has complained about the lack of bindings for pread(2) and 
pwrite(2), which are included in unix-bytestring. The only standing 
complaint I haven't addressed is one expressed in the iteratee, 
iteratee-mtl, and liboleg packages which would prefer a return type of 
(Either Errno _) instead of throwing exceptions.


[1] http://article.gmane.org/gmane.comp.lang.haskell.libraries/15390
[2] 
http://bifunctor.homelinux.net/~roel/cgi-bin/hackage-scripts/package/unix

--------------------------------------------
-- 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 Haskell-Cafe mailing list