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