free-game- Create graphical applications for free

MaintainerFumiaki Kinoshita <>
Safe HaskellNone




free-game is a library that abstracts and purifies GUI applications with simple interfaces.



 import Control.Monad
 import Graphics.UI.FreeGame
 main = runGame def $ forever tick

shows a window and does nothing.

for more examples, see

type Game = F GUISource

Game is a free monad which describes GUIs. This monad is an instance of Picture2D so you can create it using fromBitmap and can be transformed with translate, scale, rotate, colored.

It is also an instance of Keyboard and Mouse.

You have to call tick at the end of the current frame.

The only way to embody a Game as a real thing is to apply runGame.

runGame :: GUIParam -> Game a -> IO (Maybe a)Source

Run a Game.

def :: Default a => a

The default value for this type.


module Data.Color

module Linear