I may be curious to see how you intend to use such enum...
It is very C-wise, I'm not sure it will be very handy, but I need some context.
What is natural Haskell representation of such enum?
enum TypeMask
{
UNIT,
GAMEOBJECT,
CREATURE_OR_GAMEOBJECT = UNIT | GAMEOBJECT
};
More sophisticated question is: and what data structures must be used when converting this naturally one to Haskell?
// 1-byte flaged enum
enum TypeMask
{
// ...
UNIT = 0x0004,
GAMEOBJECT = 0x0008,
// ...
CREATURE_OR_GAMEOBJECT = UNIT | GAMEOBJECTWORLDOBJECT = UNIT | PLAYER | GAMEOBJECT | DYNAMICOBJECT | CORPSE// ... even more enum combos ...};
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe