From HaskellWiki
Revision as of 02:45, 19 February 2006 by DonStewart (talk | contribs) (typo)

Jump to: navigation, search


Frag is a 3D first person shooting game written in Haskell, by Mun Hon Cheong. It is licensed under the GPL. The design and implementation of Frag is described in Mun's undergraduate thesis, Functional Programming and 3D Games.


  • Yampa, a domain-specific embedded language for the programming of hybrid systems that using the concepts of Functional Reactive Programming (FRP) was used to program the game entities.
  • The Quake 3 BSP level format, Q3Map2, and the MD3 format for models and animations are used in this game.
  • Sven Panne's OpenGL binding, HOpenGL is used to render graphics.


  • GHC 6.4 or greater, providing HOpenGL-2.0.
  • OpenGL drivers that support the vertex array and multitexture OpenGL extensions


The code is distributed via a darcs repository: darcs get

darcs is the standard rcs of the Haskell community.


Frag needs contributions from the community! Darcs send patches to Don Stewart.