<br><div><span class="gmail_quote">On 10/3/05, <b class="gmail_sendername">Joel Reymont</b> &lt;<a href="mailto:joelr1@gmail.com">joelr1@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Folks,<br><br>Are there any endian conversion routines for Haskell? I'm looking to<br>build binary packets on top of NewBinary.Binary but my data is coming<br>in little-endian whereas I'll need to send it out big endian.</blockquote>
<div><br>
>From your question I assume you want functions like htonl / ntohl.<br>
I think the cleanest approach is to always have yours Ints, etc in host order, and place<br>
the endianness stuff in serialization / deserialization code, ie. on the Number &lt;-&gt; Byte<br>
sequence boundary.<br>
<br>
Having htonl/ntohl as pure functions in Haskell would be a bit ugly, because<br>
they would be defined differently on different platforms, and putting them in the<br>
IO monad would make them barely usable.<br>
<br>
Best regards<br>
Tomasz<br>
</div></div>