Игра, написанная на языке C++, обычно имеет иерархию классов, такую как
- CEntity
- CMoveable
- CCAR
- CTank
- CJetPack
- CHuman
- CPedestrian
- CPlayer
- CAlien
- CRigid
- CROCK
- CGrenade
- CMissile
- CGun
- CMedkit
- CMoveable
Теперь я прочитал, что некоторые из них утверждали, что иерархия классов является неправильной архитектурой даже при использовании С++. Но, по крайней мере, он пытается повторно использовать код. И это очевидный способ загнать все в один управляющий контейнер, поскольку все тривиально вписывается в список CEntity.
Но в любом случае, для кого-то, кто пытается переключиться с С++ на Haskell для создания игр, как изменить архитектуру в соответствии с функциональной парадигмой Haskell?