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.

2012/1/22 Данило Глинський <abcz2.uprola@gmail.com>
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 | GAMEOBJECT
WORLDOBJECT = 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