[Haskell-cafe] Re: Abstraction leak

Philip Armstrong phil at kantaka.co.uk
Wed Jul 4 06:57:46 EDT 2007


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


More information about the Haskell-Cafe mailing list