for just making IO and a little bit-conversion, i would use c++ or even c. for such a problem you have to be near the machine, not necessarily near mathematical abstraction. there exist assembler-commands to flip endians of register-values, so i would just search in /usr/include/*/* for a platform independent c-function, and either pipe a proxy through such a little prog, or patch an existing proxy, like "tinyproxy". of course, if you want to make more than just a proxy, or if you want to play with different languages, be welcome to use haskell. but remind, it is not easy to use high-developed-mars-rover-technology to replace a shovel for playing with sand at the beach.
- marc Joel Reymont wrote: > Well, I'm looking for suggestions on how to implement this. I'll > basically get a chunk of data from the socket that will have things > little-endian and will need to send out a chunk that will have the > numbers big-endian. > > This is a proxy server that does binary protocol conversion. It's a > breeze to implement in Erlang but I'm partial to Haskell and trying > to apply it to all sorts of problems. Please, let me know if this is > not the type of problem to apply Haskell to ;-). > > Thanks, Joel > > On Oct 3, 2005, at 8:35 AM, Tomasz Zielonka wrote: > > > Having htonl/ntohl as pure functions in Haskell would be a bit > > ugly, because > > they would be defined differently on different platforms, and > > putting them in the > > IO monad would make them barely usable. > > -- > http://wagerlabs.com/idealab > > > > > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe