On Sun, Jul 01, 2007 at 06:07:13PM +0100, Andrew Coppin wrote:
I haven't actually tried, but presumably a TCP connection is represented in the same way as a file, and so has the same problems.

Basically doing binary I/O seems to be one of those things that in Haskell falls into the class of "it's possibly but annoyingly messy"...

In an ideal world there would be a 'deriving Serializable[1]' you
could do on datatypes which would get this right. In a really ideal
world, you could specify the data layout somehow[2][2a], which would
make integrating Haskell code into a wider distributed network of
processes exchanging binary data a cinch. In a super really ideal
world, you could operate on the packets in place in Haskell where
possible and save the deserialization overhead...

Anyone trying to do any of this?

Phil

[1] deriving picklable?
[2] DFDL does this for XML / binary data translation.
[2a] Or even dump to arbitrary formats: XML, JSON for concrete
     datatypes[3], mabe use the approach from
     http://www.ps.uni-sb.de/Papers/abstracts/hotPickles2007.html
     (link stolen shamelessly from Lambda the Ultimate) for higher
     order data?
[3] Maybe UBL from http://www.erlang.se/workshop/2002/Armstrong.pdf ?

--
http://www.kantaka.co.uk/ .oOo. public key: http://www.kantaka.co.uk/gpg.txt
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to