[Haskell-cafe] [ANN] stdio-0.1.0.0 - A simple and high performance IO toolkit for Haskell
winterland1989 at gmail.com
Sat Feb 16 12:23:26 UTC 2019
We're pleased to announce the first public version of stdio, a simple
and high performance IO toolkit for Haskell. This package provides a
simple and high performance IO toolkit for Haskell, including packed
vectors, unicode texts, socket, file system, timers and more!
The Hackage link is http://hackage.haskell.org/package/stdio-0.1.0.0.
This project started as an experiment of combining libuv with GHC
runtime, the result is recorded in our Haskell 2018 paper A
High-Performance Multicore IO Manager Based on libuv (Experience
, which is pretty good comparing to the old IO manager in base. The IO
manager part is stable and fast now.
The package also provides new vector and new text type based on
ByteArray# primitive, which is not limited to pinned memory. As GHC
8.6 release have added unaligned access primitives to ByteArray#, We
think it's a good to release our work. The new vector and text
(internal using UTF-8 encoding)'s performance is comparative to
bytestring and text ones, and we strive to provide the similiar API.
Some unicode processing such as normalization and casefolding is also
provide, based on a C unicode library utf8rewind
To make our package more useful, we rebuild Builder and Parser type
from groud, add TCP socket and filesystem support, so that user can
start using it to do some simple task, such as parsing a CSV file or
starting a TCP server and communicate in protocols. We also provide
high performance timer and logger module, which is useful in practical
For installation guide and examples, please see the project's README.
As we (I and Tao He) both are not native english speakers, the
document quality is not as satisfying as it can be, please help! If
you meet issues with installing, bugs, questions, please fill an issue
on github: https://github.com/haskell-stdio/stdio.
Happy hacking as always!
Dong Han, Tao He
Feb 16. 2019
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe