
On Thu, 2007-02-01 at 10:47 +0300, Bulat Ziganshin wrote:
Hello Duncan,
Thursday, February 1, 2007, 3:39:16 AM, you wrote:
Can anyone see a real serialisation use case that needs a monad for the serialisation side? I'd thought I had an example, but I was wrong.
my program, FreeArc, has its own compression level on top of serializing - i.e. data serialized sent in 64k blocks to the C compression routine and both serialization and compression are run at the same time using threads
i mean that in real world, programs may need to do something in IO monad - work with database, network, call C libs
Most of this can be done in a modular and mostly pure way. In that example I gave, the compression function - while pure - was of course calling out to a C library. As an example of a real world program that uses this stuff and does networking, keeps a persistent store and calls C libs, see http://hpaste.org/ It uses HappS, ByteStrings and stores the pastes in compressed form on disk (using my pure zlib wrapper library). Duncan