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

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to