[Haskell-cafe] Parsing binary data.
Donald Bruce Stewart
dons at cse.unsw.edu.au
Tue Aug 21 20:49:28 EDT 2007
dot:
> On Sun, 19 Aug 2007, Peter Cai wrote:
> >
> > My duty is writing a network server which talks to another server through a
> > binary based private protocol.
>
> Haskell needs something like Erlang's bit syntax.
>
> http://erlang.org/doc/reference_manual/expressions.html#6.16
> http://erlang.org/doc/programming_examples/bit_syntax.html#4
> The IP header example in the latter is a brilliant real-world example.
>
> It has recently been upgraded to support arbitrary bit streams.
> See http://www.it.uu.se/research/group/hipe/papers/padl07.pdf
>
Yes, we've looked at this in the context of Data.Binary. Rather than
extending the core syntax, on option is to use Template Haskell,
http://hackage.haskell.org/cgi-bin/hackage-scripts/package/BitSyntax-0.3
Another is to just use monad and pattern guards, which give quite
reasonable syntax.
-- Don
More information about the Haskell-Cafe
mailing list