On 10 January 2011 22:30, Henning Thielemann <lemming@henning-thielemann.de> wrote:
John Lato schrieb:
> You could use my "word24" package[1] (GHC only) to provide non-aligned
> 24-bit word and int types with Storable instances. You should be able
> to write a binary instance (or whatever blaze-builder needs) fairly
> simply from this. Little-endian only ATM, but BE could be added if
> necessary.
Good to know that! However, I think for the original poster the binary
package is perfect. This way he does not worry about unsafe peeking and
poking around in memory.
Yes. I have came back to looking at the binary package, the only thing is I think I have to build my own primatives with it as it is big-endian, where ActionScript Byte Code format is little-endian. It does provide some little-endian functions but they are not brought to the surface. It also seems to roll its own serializations.
I am maybe looking at doing my own specialized set of types and binary backend as there are drawback with each of the existing solutions.
- Data.Storable.Endian - peeks and pokes rather than put/get
- Data.Word24 - peeks and pokes rather than put/get
- Data.Binary - big-endian
ABC format may best be supported by a specific set of serialization types.
On a different note thinking outside this problem, I would like IO_LE and IO_BE types if that could be make to work.
Aaron